Недавно я обнаружил, что наша компания имеет набор правил кодирования (скрытых в системе управления документами, где ее никто не может найти). Как правило, это кажется довольно разумным и держится от обычных религиозных войн о том, куда положить "{и использовать ли жесткие вкладки. Однако он предполагает, что" строки НЕ ДОЛЖНЫ содержать встроенные множественные пробелы". К чему это означает, не делайте этого:
foo = 1;
foobar = 2;
bar = 3;
Или это:
if ( test_one ) return 1;
else if ( longer_test ) return 2;
else if ( shorter ) return 3;
else return 4;
Или это:
thing foo_table[] =
{
{ "aaaaa", 0 },
{ "aa", 1 },
// ...
}
Обоснование этого состоит в том, что изменения в одной строке часто требуют, чтобы каждая строка была отредактирована. Это делает все возможное для изменения, и труднее понять различия.
Я разорван. С одной стороны, выравнивание таким образом может сделать повторный код намного легче читать. С другой стороны, это делает diff труднее читать.
Как вы относитесь к этому?