56.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