54.1. Форматирование #
Исходный код форматируется с отступом на 4 позиции, с сохранением табуляции (т. е. символы табуляции не разворачиваются в пробелы). Для каждого логического уровня отступа добавляется одна табуляция.
Правила оформления (расположения скобок и т. д.) следуют соглашениям BSD. В частности, фигурные скобки для управляемых ими блоков if
, while
, switch
и т. д. размещаются в отдельных строках.
Ограничьте размеры строк, чтобы код можно было читать в окне шириной 80 символов. (Это не значит, что никогда нельзя заходить за 80 символов. Например, не стоит разбивать длинную строку сообщения в произвольных местах, просто чтобы код умещался в 80 символов, так как это в результате скорее всего не сделает код более читабельным.)
Для единообразия кода не используйте комментарии в стиле C++ (комментарии //
). Утилита pgindent заменит их на /* ... */
.
Предпочитаемый стиль многострочных блоков выглядит так:
/* * текст комментария начинается здесь * и продолжается здесь */
Заметьте, что блоки комментариев, начинающиеся с первого символа, будут сохраняться утилитой pgindent как есть, но содержимое блоков комментариев с отступами будет переразбито по строкам как обычный текст. Если вы хотите сохранить разрывы строк в блоке с отступом, добавьте минусы следующим образом:
/*---------- * текст комментария начинается здесь * и продолжается здесь *---------- */
Хотя предлагаемые правки кода не обязательно должны следовать этим правилам форматирования, лучше их придерживаться. Ваш код будет пропущен через pgindent перед следующим выпуском, поэтому нет смысла наводить в нём красоту по другим правилам. Для правок есть хорошее правило: «оформляйте новый код так же, как выглядит существующий код вокруг».
В каталоге src/tools/editors
содержатся примеры файлов настройки, которые можно использовать с редакторами Emacs, xemacs или vim для упрощения задачи форматирования кода в соответствии с описанными соглашениями.
Если вы хотите использовать утилиту pgindent локально, чтобы привести код в соответствие со стилем проекта, вы найдёте полезную информацию в каталоге src/tools/pgindent
.
Чтобы табуляция показывалась должным образом в средствах просмотра текста more и less, их можно вызвать так:
more -x4 less -x4