на широкоэкранном мониторе можно легко увидеть более 80 символов одновременно, без полос прокрутки. даже Линус Торвальдс видит ограничение в 80 символов как устаревшее .
Итак, действительно ли ограничение в 80 символов по-прежнему актуально во времена широкоэкранных мониторов?
coding-style
lesmana
источник
источник
Ответы:
Есть несколько причин, по-прежнему придерживающихся ограничения в 80 символов (или, что ограничение в 74 символа еще лучше; это позволяет коду оставаться менее 80 столбцов, даже если добавлены маркеры diff и цитирование по электронной почте, если вы просматриваете код на списки рассылки).
Даже в эпоху широкоэкранных мониторов мне нравится иметь несколько открытых окон рядом с различными частями кода. Например, у меня обычно есть веб-браузер и электронная почта, открытые на одном экране, и два файла и терминал, открытый рядом на втором мониторе. Если у вас есть строки, которые превышают 80 столбцов, вам нужно иметь дело с редактором, оборачивающим строки (что некрасиво и затрудняет навигацию по коду), или расширять окна так, что вы не сможете разместить их на экране в один раз.
Даже если вы обычно не редактируете таким образом, если вы когда-либо используете инструмент различий рядом, вы по достоинству оцените файлы с разумной длиной строки, которые облегчат просмотр различий.
Есть также проблема плотности кода. Мне нравится иметь много контекста при чтении кода. Намного быстрее, намного быстрее смотреть вверх и вниз по окну, чем для прокрутки. Если у вас очень длинные строки, вы, как правило, также имеете строки, которые сильно различаются по длине, что приводит к значительному расходу средств на экран и позволяет помещать меньше кода на экране в определенное время в целом.
И, наконец, если у вас очень длинные строки, то это, как правило, означает, что у вас очень сложные строки, глубокая независимость или что у вас очень длинные идентификаторы. Все это может быть проблемой. Сложные строки, вероятно, делают слишком много; если вы можете разбить его на несколько простых строк, вы, вероятно, должны. Глубокий отступ означает, что вы, вероятно, вкладываете слишком много циклов и условных выражений, что может запутать ваш поток кода; учитывая рефакторинг на несколько функций. И если ваши идентификаторы слишком длинные, это может затруднить чтение вашего кода. Люди обычно распознают слова как отдельные единицы; они не читают каждый символ один за другим, но смотрят на общую форму слова. Длинные идентификаторы сложнее отличить таким образом, и, как правило, если они такие длинные, они содержат избыточную или повторяющуюся информацию.
Теперь, несмотря на то, что по-прежнему хорошей практикой является сохранение кода ниже 80 столбцов, это не одно из тех правил, которым нужно неукоснительно следовать, заставляя себя подгонять какую-то строку, когда этого просто нет. Я предлагаю вам попытаться сохранить весь ваш код под 80 столбцами, но когда он просто не помещается, не беспокойтесь об этом.
источник
std::vector<...>::const_iterator
), хотя в последнем случае вещи обычно могут быть смягчены с помощью typedefs.Если мои строки будут содержать не более 100 символов, у меня может быть два окна редактора рядом на широкоэкранном мониторе. Очень полезно иметь и файл заголовка класса, и реализацию одновременно видимыми, или иметь код с одной стороны, который вызывает код с другой. И, если я сделаю строки короткими, мне не понадобится горизонтальная полоса прокрутки в окнах редактора, которая дает мне больше вертикального пространства.
80 символов могут быть устаревшими, но есть смысл держать вещи в разумных пределах.
источник
Я не думаю, что монитор имеет какое-либо отношение к нему - по крайней мере, больше.
Если вы не можете закодировать строку из 80 символов, это, вероятно, признак плохого кода в любом случае. Слишком сложные выражения. Слишком глубокий отступ. и т.д. Вы должны остановиться и переосмыслить то, что вы делаете.
Но если вы уверены, что код требует более 80 строк, тогда сделайте это. Я думаю, что лучше иметь код, который превосходит 80 символов, чем добавлять идиоматические изменения только для того, чтобы сделать его меньше.
Я лично ненавижу такие вещи:
А не просто:
источник
Для кодирования?
Конечно да. Нормальный человек не может читать слишком широко. С несколькими колонками вы меньше двигаете глазами, лучше фокусируетесь и задерживаете усталость. Это минимальный выигрыш, но важный.
источник
Да, есть причины ограничивать длину строки кода:
Сказав это, 80 это слишком мало. Но, тем не менее, некоторые ограничения, вероятно, хорошая идея в качестве принципа дизайна.
Я бы сказал , что дополнительные длинные линии не должны быть запрещены, потому что иногда они являются необходимыми. Но если большинство функций можно просматривать только на 30-дюймовом экране, то у кода есть некоторые проблемы.
источник
Это произвольно, но есть не произвольное ограничение на то, что легко читать. Я считаю, что сверхширокие столбцы текста очень трудно сканировать и читать, независимо от того, являются ли они кодом или прозой. Кроме того, как указывалось во многих других ответах, не похоже, что этот код будет единственным на вашем экране. Замечательно иметь два или более окон кода одновременно и размещать их на одном широкоэкранном мониторе.
источник
Вероятно, не имеет смысла точно выбирать ограничение в 80 символов; что изменится, если предел, например, 85?
Это правда, что мониторы, используемые в настоящее время, имеют более высокое разрешение, но в текстовом редакторе / IDE не все пространство берется из текстового представления; в редакторе, который я использую, показывает слева список файлов, включенных в проект.
Разрешение, используемое в нетбуке или ноутбуке, отличается от разрешения в мониторах; вероятно, имеет смысл использовать ограничение на количество символов, которое никому не создает проблем.
источник
Это действительно зависит от среды разработки.
Например, в большой корпорации с тысячами разработчиков, вероятно, есть сотни людей, которым на протяжении всей жизни продукта приходится смотреть на некоторую часть его кода. При таком количестве людей обязательно найдется несколько человек, которые по какой-либо причине (старое оборудование, нетбуки и т. Д.) Работают с разрешением 800x600 или меньше. Есть некоторая ценность для размещения их.
В моей компании из 25 человек, я говорю, винт это. Мы все используем двойные современные мониторы с максимальным разрешением - 120-140 или около того - это неофициальное руководство.
источник
Наличие определенного предела, безусловно, имеет смысл. Но ограничение в 80 символов слишком ограничено. Я предпочитаю что-то около 96 символов. Он достаточно широк для большей части кода, с которым мне приходится иметь дело, и достаточно узок, чтобы два файла можно было размещать рядом для сравнения (на широком экране).
Я считаю, что читабельность кода превосходит все остальные проблемы. И с 96 символами в строке код может быть сделан намного более читабельным, чем с 80.
Я не покупаю аргумент, что большинство людей устанавливают свои терминалы шириной 80 символов, и принтеры не должны переносить строки длиннее 80 символов. Это не жесткий предел, как это было в (далеком) прошлом. Вы можете легко установить терминал и ширину принтера до 100 символов.
источник
Нет, это больше не актуально:
80 символов были действительно ориентиром для шрифтов фиксированной ширины в среде консоли.
Конечно, если вы все еще используете шрифт фиксированной ширины в консольной среде ... тогда, конечно, разумно использовать 80 символов :)
источник
Если вы используете редактор в графическом интерфейсе, то 80 символов в строке не имеют значения, так как большинство достойных редакторов - например, Notepad ++ - имеют кнопку для переключения переноса строк. С этим не должно быть проблем даже при просмотре кода в тонком окне.
источник