Зависит от вашей IDE и настроек. Обычное ей не нужно ничего понимать. Моя, например, просто копирует такой же отступ как и был на предыдущей строчке. При первом переводе скопирует табы, далее выравниваешь пробелами как тебе необходимо, и при следующим она уже копирует и табы (отступ) и пробелы (выравнивание). Зато когда закончил, закрыл скобку, поставил двоеточие, очень легко спуститься четко до уровня отступа, достаточно убить все пробелы.
Да, это все понятно. Как вы правильно заметили, с чужим кодом ничего и не поделаешь, где-то будет два пробела, где-то четыре, где-то табы. Но для меня, например, мир, в котором отступы сделаны пробелами — не лучше, а хуже, он мешает мне подстроить отступ под конкретное устройство, с конкретным разрешением и размером экрана.
Уж лучше научить всех правильно пользоваться табами, т. е. делать отступы ими, а выравнивание пробелами, как положено. Чему и посвящена данная статья.
Это кусочек в 70 строчек, ну вынесите вы все дублирующиеся строчки в отдельные макросы. И будет у вас штук 100 разных таких макросов. Каким образом это улучшит читабельность?
На скриншоте типичный кусок кода виртуальной машины. Не мой, но насколько я разбираюсь в виртуальных машинах, и насколько могу оценить код, отрефакторить там что-либо без потери производительности и/или читабельности практически невозможно. Да и не нужно.
И да, 2000 строк кода это одна функция.
p. s. автор этих строк профессионал с огромным опытом, работающий в одной крупной и всем известной ИТ-компании.
Не важно сколько уровней вложенности код. Там где табы и малая вложенность я могу открыть на нетбуке два листинга сразу. Там где строго 4 пробела — этого уже не сделаешь, ибо не помещается.
Нет ни единого аргумента, чтобы использовать пробелы вместо табов для отступов.
p.s. вы правда считаете, что всякий алгоритм можно отрефакторить до 2-4 уровней?
Допустим у меня в одном проекте код на C, C++, Perl и Bash… по каждому идти читать «принятый» для языка стандарт, а затем в редакторе постоянно переключать с одного на другое?
Не надо выдумывать сложностей. Дома у меня большой дисплей, там таб широкий — это удобно. А на нетбуке в дороге экранчик маленький, там таб узенький — опять же удобно. А те кто делают отступы пробелами лишают меня такой возможности.
Конечно я не против, и другие участники процесса, думаю тоже. =) Больше мануалов хороших и разных, и в различных удобных форматах.
Я сам думал о PDF, но буду это делать, только после полной вычитки всех четырех частей, после окончания перевода. Все же он сильно растянулся во времени, и в нем поучаствовало несколько человек. Так что на данный момент согласованности по терминологии и стилю ожидать не приходится. Но когда найдется на все это время — я даже не представляю.
На самом деле, сразу хочу заметить, я не нахожу 4-ую часть особо актуальной. Нынче и выбор файловых систем иной, и MBR потихоньку уходит в прошлое, заменяясь на GPT, с которой fdisk уже не умеет работать (хотя есть аналог — gdisk, но более распространена утилитка parted). GRUB2 потихоньку вытесняет GRUB, а LILO вообще уже мало где можно встретить. Блочные устройства везде сейчас именуются sdX, да и devfs уже давно deprecated.
Но, коль есть у людей желание перевести до конца, так и быть.
Уж лучше научить всех правильно пользоваться табами, т. е. делать отступы ими, а выравнивание пробелами, как положено. Чему и посвящена данная статья.
И да, 2000 строк кода это одна функция.
p. s. автор этих строк профессионал с огромным опытом, работающий в одной крупной и всем известной ИТ-компании.
Нет ни единого аргумента, чтобы использовать пробелы вместо табов для отступов.
p.s. вы правда считаете, что всякий алгоритм можно отрефакторить до 2-4 уровней?
Не надо выдумывать сложностей. Дома у меня большой дисплей, там таб широкий — это удобно. А на нетбуке в дороге экранчик маленький, там таб узенький — опять же удобно. А те кто делают отступы пробелами лишают меня такой возможности.
Я сам думал о PDF, но буду это делать, только после полной вычитки всех четырех частей, после окончания перевода. Все же он сильно растянулся во времени, и в нем поучаствовало несколько человек. Так что на данный момент согласованности по терминологии и стилю ожидать не приходится. Но когда найдется на все это время — я даже не представляю.
Но, коль есть у людей желание перевести до конца, так и быть.