53.1. Форматирование#

53.1. Форматирование

53.1. Форматирование #

Форматирование исходного кода использует отступы табуляции в 4 столбца, с сохранением табуляции (т.е. табуляция не заменяется пробелами). Каждый логический уровень отступа имеет одну дополнительную табуляцию.

Правила оформления (расположение фигурных скобок и т. д.) следуют соглашениям BSD. В частности, фигурные скобки для управляемых блокировок if, while, switch и т. д. располагаются на отдельных строках.

Ограничивайте длину строк так, чтобы код был читаемым в окне шириной 80 столбцов. (Это не означает, что вы никогда не должны превышать 80 столбцов. Например, если разбивать длинную строку сообщения об ошибке в произвольных местах, чтобы уложить код в 80 столбцов, это, вероятно, не приведет к улучшению читаемости).

Чтобы поддерживать последовательный стиль кодирования, не используйте комментарии в стиле C++ (// комментарии). pgindent заменит их на /* ... */.

Предпочтительным стилем для блоков многострочных комментариев является

/*
 * comment text begins here
 * and continues here
 */

Обратите внимание, что комментарии, которые начинаются в первом столбце, будут сохранены без изменений с помощью pgindent, но он будет переносить комментарии с отступами, как если бы они были обычным текстом. Если нужно сохранить переносы строк в блоке с отступами, добавьте тире, как показано ниже:

    /*----------
     * comment text begins here
     * and continues here
     *----------
     */

Хотя представленные патчи не обязательно должны следовать этим правилам форматирования, это хорошая идея сделать это. Ваш код будет прогоняться через pgindent перед следующим релизом, поэтому нет смысла делать его красивым с использованием других правил форматирования. Для патчей рекомендуется сделать новый код похожим на существующий код вокруг него.

В каталоге src/tools/editors содержатся образцы файлов настроек, которые можно использовать с редакторами Emacs, xemacs или vim, чтобы гарантировать форматирование кода в соответствии с этими соглашениями.

Если нужно запустить pgindent локально, чтобы помочь вашему коду соответствовать стилю проекта, ознакомьтесь с каталогом src/tools/pgindent.

Инструменты просмотра текста more и less могут быть вызваны следующим образом:

more -x4
less -x4

чтобы они правильно отображали табуляцию.