Pull to refresh
283
0
Валентин Бартенев @VBart

Руководитель разработки ООО «Веб-Сервер»

Send message
Это если у вас есть документация.
Да, пожалуй, нечего возразить. Неудачный фрагмент привел.
По-моему где отступ всегда очевидно. Чему тут задумываться =)
Я с ним и не знаком, просто пользуюсь его разработками.
Зависит от вашей IDE и настроек. Обычное ей не нужно ничего понимать. Моя, например, просто копирует такой же отступ как и был на предыдущей строчке. При первом переводе скопирует табы, далее выравниваешь пробелами как тебе необходимо, и при следующим она уже копирует и табы (отступ) и пробелы (выравнивание). Зато когда закончил, закрыл скобку, поставил двоеточие, очень легко спуститься четко до уровня отступа, достаточно убить все пробелы.
Вы статью читали? Есть отступ, а есть выравнивания. Отступ делаете табами, а выравниваете пробелами, и ничего у вас не разъедется.
Да, это все понятно. Как вы правильно заметили, с чужим кодом ничего и не поделаешь, где-то будет два пробела, где-то четыре, где-то табы. Но для меня, например, мир, в котором отступы сделаны пробелами — не лучше, а хуже, он мешает мне подстроить отступ под конкретное устройство, с конкретным разрешением и размером экрана.

Уж лучше научить всех правильно пользоваться табами, т. е. делать отступы ими, а выравнивание пробелами, как положено. Чему и посвящена данная статья.
В вашем примере имеет место быть как раз alignment, который всегда делается пробелами.
Это кусочек в 70 строчек, ну вынесите вы все дублирующиеся строчки в отдельные макросы. И будет у вас штук 100 разных таких макросов. Каким образом это улучшит читабельность?
Nginx написан на Си, я пишу для него модули.
Два листинга нужно чтобы в одном писать код, а второй листинг служит документацией. Особенно удобно в проектах с >100 000 строк кода.
На скриншоте типичный кусок кода виртуальной машины. Не мой, но насколько я разбираюсь в виртуальных машинах, и насколько могу оценить код, отрефакторить там что-либо без потери производительности и/или читабельности практически невозможно. Да и не нужно.

И да, 2000 строк кода это одна функция.



p. s. автор этих строк профессионал с огромным опытом, работающий в одной крупной и всем известной ИТ-компании.
Не важно сколько уровней вложенности код. Там где табы и малая вложенность я могу открыть на нетбуке два листинга сразу. Там где строго 4 пробела — этого уже не сделаешь, ибо не помещается.

Нет ни единого аргумента, чтобы использовать пробелы вместо табов для отступов.

p.s. вы правда считаете, что всякий алгоритм можно отрефакторить до 2-4 уровней?
Рекомендуют не значит принуждают. Есть еще здравый смысл. И он подсказывает принять другие стандарты, пускай и противоречащие PEP8 в данном вопросе.
Допустим у меня в одном проекте код на C, C++, Perl и Bash… по каждому идти читать «принятый» для языка стандарт, а затем в редакторе постоянно переключать с одного на другое?

Не надо выдумывать сложностей. Дома у меня большой дисплей, там таб широкий — это удобно. А на нетбуке в дороге экранчик маленький, там таб узенький — опять же удобно. А те кто делают отступы пробелами лишают меня такой возможности.
Спасибо за замечание. Действительно уж очень криво написано. Чуть поправил, надеюсь стало более согласованно.
Конечно я не против, и другие участники процесса, думаю тоже. =) Больше мануалов хороших и разных, и в различных удобных форматах.

Я сам думал о PDF, но буду это делать, только после полной вычитки всех четырех частей, после окончания перевода. Все же он сильно растянулся во времени, и в нем поучаствовало несколько человек. Так что на данный момент согласованности по терминологии и стилю ожидать не приходится. Но когда найдется на все это время — я даже не представляю.
На самом деле, сразу хочу заметить, я не нахожу 4-ую часть особо актуальной. Нынче и выбор файловых систем иной, и MBR потихоньку уходит в прошлое, заменяясь на GPT, с которой fdisk уже не умеет работать (хотя есть аналог — gdisk, но более распространена утилитка parted). GRUB2 потихоньку вытесняет GRUB, а LILO вообще уже мало где можно встретить. Блочные устройства везде сейчас именуются sdX, да и devfs уже давно deprecated.

Но, коль есть у людей желание перевести до конца, так и быть.
Я бы еще логгинг выпилил, чуть реже будет к диску обращаться.

Information

Rating
3,568-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity