Правила программирования на С и С++. Главы 1-6 - Используйте аккуратные столбцы везде, где можно
ОГЛАВЛЕНИЕ
30. Используйте аккуратные столбцы везде, где можно.
Так как форматирование по сути является видом комментирования, то это правило применяйте также и к тексту программы. Два следующих блока функционально одинаковы, но заметьте, насколько легче искать имена переменных во втором блоке, причем не из-за выравнивания комментариев, а потому что имена образовали аккуратный столбец:
int x; // Опишите, что делает x.unsigned long int (*pfi)(); // Опишите, что делает pfi.
const char *the_variable; // Опишите, что делает the_variable.
int z; // Опишите, что делает z.
x = 10; // Здесь идет комментарий.
the_variable = x; // Здесь второй комментарий.
z = x; // A здесь третий.
по сравнению с:int | x; | // Опишите, что делает x. |
unsigned long int | (*pfi)(); | // Опишите, что делает pfi. |
int | z; | // Опишите, что делает z. |
const char | *the_variable; | // Опишите, что делает the_variable. |
x | = 10; | // Здесь идет комментарий. |
the_variable | = x; | // Здесь второй комментарий. |
z | = x; | // A здесь третий. |
Другим хорошим местом для использования столбцов является список инициализации элементов в С++, который я форматирую следующим образом:
class derived : public base{
string str;const int x;
public: derived( char *init_str, int init_x ) {}}derived::derived( char *init_str, int init_x )
:base( str, x ),str ( init_str )
,x ( init_x )
{}