Форматирование
При форматировании исходного кода используется 4-колоночный интервал табуляции с сохранением табуляции (т.е. табуляция не расширяется до пробелов). Каждый логический уровень отступа - это один дополнител ьный знак табуляции.
Правила разметки (расположение скобок и т.д.) следуют соглашениям BSD. В частности, фигурные скобки для закрытых блоков if
, while
, switch
и т.д. располагаются на своих строках.
Ограничьте длину строк так, чтобы код был читаем в окне с 80 колонками. (Это не означает, что никогда нельзя выходить за пределы 80 колонок. Например, разбиение длинной строки сообщения об ошибке в произвольных местах только для того, чтобы код не выходил за пределы 80 колонок, скорее всего, не принесет чистого выигрыша в читабельности.)
Чтобы сохранить последовательный стиль кодирования, не используйте комментарии в стиле C++ (// комментарии). pgindent заменит их на /* ... */
.
Предпочтительным стилем для многострочных блоков комментариев является:
/*
* comment text begins here
* and continues here
*/
Обратите внимание, что блоки комментариев, начинающиеся в столбце 1, будут сохранены pgindent как есть, но он будет переводить блоки комментариев с отступами, как если бы они были обычным текстом. Если необходимо сохранить разрывы строк в блоке с отступом, добавьте тире, как показано ниже:
/*----------
* comment text begins here
* and continues here
*----------
*/
Хотя отправленные патчи не обязаны следовать этим правилам форматирования, это хорошая идея. Ваш код будет прогнан через pgindent перед следующим релизом, так что нет смысла приводить его в надлежащий вид в соответствии с каким-то другим набором соглашений по форматированию. Хорошее правило для патчей - "сделайте новый код похожим на существующий код вокруг него".
Каталог src/tools/editors
содержит примеры файлов настроек, которые можно использовать с редакторами Emacs, xemacs или vim, чтобы убедиться, что они оформляют код в соответствии с этими соглашениями.
Если необходимо запустить pgindent локально, чтобы помочь привести ваш код в соответствие со стилем проекта, смотрите каталог src/tools/pgindent
.
Инструменты для просмотра текста в большей или меньшей степени могут быть вызваны как:
more -x4
less -x4
чтобы заставить их отображать вкладки соответствующим образом.