CODE TIPS #1 — Контра-интуитивната индентация и скобите в LISP
Димитър Трифонов (dvt32)

Димитър Трифонов (dvt32) @dvt32

About: Java Web Developer & Blogger 😎

Location:
Sofia, Bulgaria
Joined:
Feb 15, 2025

CODE TIPS #1 — Контра-интуитивната индентация и скобите в LISP

Publish Date: May 25 '25
0 0

(Първо публикувано на 07.03.2016)

OK, наскоро започнах да изучавам функционален език за програмиране (LISP) и ми направи впечатление следното нещо:

Толкова. Много. Скоби.

Lisp Brackets

Зачудих се как е възможно подобен код да е четим за когото и да било. Вече очевидно никой не се интересува от това… :(

Първото ми предположение беше да подредя кода както бих го подредил в стил “всеки друг език за програмиране”:

BAD:

Оказа се, че конвенцията не само е против излишните празни места, но дори редове само с по една затваряща скоба на тях се считат за лоша практика. Стига де!

Имайки това предвид, за по-удачен вариант се смята следната версия:

GOOD:

Основната разлика:

  • по 2 интервала на нов ред
  • аргументите се подреждат един под друг
  • затварящите скоби не се изолират на цял ред

Индентацията добре, но скобите защо така? Обяснението, което намерих, е че опитните Lisp програмисти не обръщат внимание на броя на скобите, а се съсредоточават върху това, което се случва между тях. И втората причина е, че просто се цели минимизирането на редове код (което според мен е по-рационалната причина).

Странно, но ще свикна…

Comments 0 total

    Add comment