Линус шутил?
Произведение написано в игровой манере, что говорит о том, что автор знаком с тем, как стиль кодирования обсуждается среди серьезных практиков: у всех нас есть свои предпочтения, и мы их отстаиваем бешено, но языком, по крайней мере, частично в щеку. Мы прекрасно понимаем, что многое из этого - вопрос личного вкуса. Он говорит, во многих словах, "Coding style is very personal, and I won't _force_ my views on anybody"
- по крайней мере вне кода, который он лично поддерживает. Но последовательность стиля в данном проекте - очень хорошая идея. Я бы предпочел кодировать стиль, который мне не нравится, чем иметь дело с несколькими стилями в данной функции.
Вот пример явно игривого письма:
However, there is one special case, namely functions: they have the
opening brace at the beginning of the next line, thus:
int function(int x)
{
body of function
}
Heretic people all over the world have claimed that this inconsistency
is ... well ... inconsistent, but all right-thinking people know that
(a) K&R are _right_ and (b) K&R are right. Besides, functions are
special anyway (you can't nest them in C).
Игривый (1).
Возможно, это хороший совет, чтобы попытаться удержать отступы из-под контроля, хотя трехуровневый максимум может быть гиперболическим. Я не собираюсь анализировать исходный код ядра и считать последовательности из четырех символов табуляции, но держу пари, что вы могли бы найти хотя бы один, написанный Торвальдсом.
С другой стороны, если кто-то может написать ядро Linux без частого превышения трех уровней отступа, трехуровневое ограничение может быть полезным упражнением на некоторое время в вашем собственном коде, просто чтобы посмотреть, куда оно вас приведет. Знаете, это не похоже на смену пола. Это не пожизненное обязательство.
Если вы столкнетесь с кем-то в Интернете, который думает, что он понимает программирование гораздо лучше, чем Торвальдс (2), вы знаете, какие люди любят громко разговаривать в Интернете.
С другой стороны, он преступно ошибается насчет восьми пробелов. Это бред человека, которого следует сдерживать и кормить через щель. Четыре пробела, очевидно, правильно.
(1) Но обратите внимание, как он ошибочно ставит пробел перед эллипсами, два пробела после них и два пробела после полной остановки. НЕПРАВИЛЬНО, НЕПРАВИЛЬНО, НЕПРАВИЛЬНО. И тогда у него есть наглый нагоняй, чтобы ругать еретиков. Еретик это ты, Торвальдс! ЭТО ТЫ!
(2) Если вы хотите поговорить о « понимании того, как спроектировать систему контроля версий », возможно, есть место для дискуссий.
Заметка: Уважаемый пользователь, который неоднократно вносил одно и то же изменение: форматирование в цитируемом материале сохранено в точности так, как предполагал автор. Это потому, что это из эссе о форматировании текста с фиксированной шириной, написанного в тексте с фиксированной шириной, кем-то, кто придумал много времени для форматирования текста с фиксированной шириной. Форматирование является сознательной и преднамеренной частью замысла автора, и оно имеет отношение к предмету.
Кроме того, я вернулся к этому форматированию в своем собственном тексте. Если вы удалите предварительное форматирование, моя сноска (1) станет бессмысленной. Если предварительное форматирование удалено, то текст моей сноски (1) должен относиться к парам пробелов после полных остановок в концах предложений. В любом случае я вижу обоснование для удаления этой сноски, потому что она менее смешная, чем казалось, когда я ее писал. Но удалить форматирование, не удаляя сноску, бесполезно.