Previous: , Up: Стиль кодирования   [Contents][Index]


16.5.4 Форматирование кода

When writing Scheme code, we follow common wisdom among Scheme programmers. In general, we follow the Riastradh’s Lisp Style Rules. This document happens to describe the conventions mostly used in Guile’s code too. It is very thoughtful and well written, so please do read it.

Некоторые специальные формы, вводимые в Guix, как например, макрос substitute*, имеют специальные правила отступов. Они определены в файле .dir-locals.el, которые использует Emacs автоматически. Также отметим, что Emacs-Guix предоставляет режим guix-devel-mode, который вставляет отступы и подсвечивает код Guix должным образом (see Разработка in The Emacs-Guix Reference Manual).

Если вы не пользуетесь Emacs, пожалуйста убедитесь, что ваш редактор знает эти правила. Для автоматической расстановки отступов можно запустить:

./etc/indent-code.el gnu/packages/file.scm package

Это автоматически расставит отступы в определении package в файле gnu/packages/file.scm, запустив Emacs в фоновом режиме. Чтобы расставить отступы во всём файле, приведите слеующий аргумент:

./etc/indent-code.el gnu/services/file.scm

Если вы редактируете код в Vim, мы рекомендуем запустить :set autoindent, так отступы будут автоматически вставляться в ваш код, пока вы печатаете. В дополнение вам может помочь для работы со всеми этими скобками paredit.vim.

Мы требуем, чтобы все высокоуровневые процедуры содержали строки документации. Хотя это требование может не учитываться для простых приватных процедур в пространстве имён (guix build …).

Процедуры должны иметь не более четырёх параметров. Передавайте параметры по ключевым словам в процедурах, которые принимают более четырёх параметров.