на широкоекранному моніторі можна легко бачити більше 80 символів одночасно, без смуг прокрутки. навіть Лінус Торвальдс бачить обмеження 80 символів застарілим .
Отже, чи все ще обмеження 80 символів є актуальним у часи широкоекранних моніторів?
на широкоекранному моніторі можна легко бачити більше 80 символів одночасно, без смуг прокрутки. навіть Лінус Торвальдс бачить обмеження 80 символів застарілим .
Отже, чи все ще обмеження 80 символів є актуальним у часи широкоекранних моніторів?
Відповіді:
Існує кілька причин, як і раніше дотримуватися обмеження до 80 символів (або обмеження до 74 символів ще краще; воно дозволяє коду залишатися менше 80 стовпців, навіть якщо додані маркери розрізнень та цитування електронної пошти, якщо ви перевіряєте код на списки розсилки).
Навіть в епоху широкоекранних моніторів мені подобається, що кілька вікон відкриваються поруч, де відображаються різні частини коду. Наприклад, у мене на одному екрані відкритий веб-браузер та електронна пошта, а на другому моніторі - два файли та термінал. Якщо у вас є рядки, що мають понад 80 стовпців, вам потрібно мати справу з редактором, який обертає рядки (що некрасиво і робить код важче пересуватися навколо), або розширити вікна таким чином, що ви не можете вмістити стільки на екрані в один раз.
Навіть якщо ви зазвичай не редагуєте цей спосіб, якщо ви коли-небудь користуєтесь інструментом "бічний бік", ви оціните файли з розумною довжиною рядків, які полегшать перегляд вашої різниці.
Існує також проблема щільності коду. Мені подобається мати багато контексту під час читання коду. Оглядати вгору та вниз вікно набагато швидше, ніж прокручувати. Якщо у вас дуже довгі рядки, ви також схильні мати рядки, які сильно різняться по довжині, що призводить до великої кількості витраченої нерухомості екрану і здатності помістити менше коду на екрані в даний момент загалом.
І нарешті, якщо у вас дуже довгі рядки, то це, як правило, означає, що у вас дуже складні лінії, глибока відшарування або у вас дуже довгі ідентифікатори. Все це може бути проблемою. Складні лінії, ймовірно, роблять занадто багато; якщо ви можете розбити його на кілька простих ліній, ви, мабуть, повинні. Глибокий відступ означає, що ви, мабуть, вкладете занадто багато циклів і умовних умов, що може зробити ваш потік коду заплутаним; розглядаючи рефакторинг на кілька функцій. І якщо ваші ідентифікатори занадто довгі, це може ускладнити читання вашого коду. Люди зазвичай розпізнають слова як окремі одиниці; вони не читають кожного персонажа по одному, але дивляться на загальну форму слова. Довгі ідентифікатори важче відрізнити таким чином, і зазвичай, якщо вони такі довгі, вони містять зайву або повторювану інформацію.
Тепер, хоча тримати код нижче 80 стовпців, це все ще є хорошою практикою, це не одне з тих правил, яких потрібно дотримуватися релігійно, примушуючи себе робити якийсь рядок, коли він просто не відповідає. Я пропоную вам спробувати тримати весь код під 80 стовпцями, але коли він просто не підходить, не переживайте про це занадто.
std::vector<...>::const_iterator
), хоча в останньому випадку речі зазвичай можуть бути полегшені typedefs.
Якщо я тримаю рядки менше ніж 100 символів, я можу мати два вікна редактора поруч на широкоекранному моніторі. Дуже корисно, щоб і файл заголовка класу, і реалізація були одночасно видимими або мали код на одній стороні, який викликає код з іншого. І якщо я тримаю рядки короткими, мені не потрібна горизонтальна смуга прокрутки у вікнах мого редактора, що дає мені більше вертикального простору.
80 символів можуть бути застарілими, але є певна заслуга в тому, щоб зберігати речі в межах розуму.
Я не думаю, що монітор нічого спільного з цим не має - принаймні, вже не.
Якщо ви не можете кодувати рядок у 80 символів, це, мабуть, ознака поганого коду. Занадто складні вирази. Занадто глибоке відступ. і т. д. Ви повинні зупинитися і переосмислити те, що ви робите.
Але якщо ви впевнені, що для коду було потрібно більше 80 рядків, тоді продовжуйте це і виконайте. Я думаю, що краще мати код, який перевищує 80 символів, ніж додавати ідіоматичні зміни, щоб зменшити його.
Я особисто ненавиджу такі речі:
ret = my_function(parameter1, \
parameter2, \
parameter3, parameter4);
Замість просто:
ret = my_function(parameter1, parameter2, parameter3, parameter4);
Для кодування?
Звичайно, так. Звичайна людина не може читати дуже добре. За допомогою кількох стовпчиків ви менше рухаєте очима, краще фокусуєтесь і затримуєте втому. Це мінімальний приріст, але важливий.
Так, існують причини обмеження довжини рядка коду:
Сказавши це, 80 - це занадто мало. Але все-таки деяке обмеження - це, мабуть, хороша ідея як принцип дизайну.
Я б сказав , що додаткові довгі лінії не повинні бути заборонені, тому що іноді вони є необхідними. Але якщо більшість функцій переглядаються лише на 30-дюймовому екрані, у коду є деякі проблеми.
Це довільно, але є необов’язкове обмеження на те, що легко читати. Я вважаю, що надширокі стовпці тексту дуже важко сканувати та читати, незалежно від того, чи вони є кодовими чи прозовими. Крім того, як багато інших відповідей вказали, це не так, як цей код буде єдиним на екрані. Чудово мати два або більше вікон коду одночасно, і вони вмістяться на одному широкоекранному моніторі.
Мабуть, не має значення вибрати граничну кількість символів до 80; що змінилося б, якщо, наприклад, межа становить 85?
Це правда, що монітори, які використовуються сьогодні, мають більш високу роздільну здатність, але в текстовому редакторі / IDE не весь простір забирається з перегляду тексту; у редакторі, який я використовую, показано зліва збоку список файлів, що входять до проекту.
Роздільна здатність, яка використовується в нетбуку чи ноутбуці, не однаково використовується в моніторах; Мабуть, має сенс використовувати обмеження символів, яке нікому не створює "проблем".
Це дійсно залежить від середовища розвитку.
Наприклад, у великій корпорації з тисячами розробників, мабуть, є сотні людей, яким протягом життя продукту доведеться переглянути частину його коду. З цим багатьма людьми, мабуть, є кілька людей, які з будь-якої причини (старі апаратні засоби, нетбуки тощо) працюють на 800x600 або менше. Для їх розміщення є деяке значення.
У моїй компанії на 25 осіб, однак, я кажу, що це накрутити. Всі ми використовуємо подвійні сучасні монітори з максимальною роздільною здатністю - 120-140 або близько того - це неофіційна настанова.
Мати деяку межу, безумовно, має сенс. Але межа обмеження 80 символів занадто обмежує. Я вважаю за краще щось на зразок обмеження 96 символів. Він достатньо широкий для більшості коду, з яким я маю справу, і досить вузький, щоб два файли можна було поставити поруч для розходження (на широкому екрані).
Я вважаю, що читабельність коду перемагає всі інші проблеми. І з 96 символами на рядок код можна зробити набагато легше для читання, ніж з 80.
Я не купую аргумент, що більшість людей встановлюють свої термінали шириною до 80 символів. Ні, що принтерам доводиться обертати лінії довше 80 символів. Це не важка межа, як це було раніше (далекого) минулого. Ви можете легко встановити термінал і ширину принтера на 100 символів.
Ні, це вже не актуально:
80 символів справді були орієнтиром для шрифтів фіксованої ширини в консольному середовищі.
Звичайно, якщо ви все ще використовуєте шрифт фіксованої ширини в консольному середовищі ... тоді впевнено, що 80 символів чутливі :)
Якщо ви використовуєте редактор у графічному інтерфейсі, то 80 символів на рядок не мають значення, оскільки у більшості порядних редакторів - наприклад, Блокнот ++ - є кнопка для перемикання обгортки рядків. З цим не повинно бути проблем, навіть якщо переглядаєте код у тонкому вікні.