"Рекомендована" довжина файлу та ширина рядка [закрито]


9

Мені було цікаво, якщо хтось знав рекомендацію з поважного джерела щодо максимальної кількості рядків коду для даного файлу. Наприклад, лінійка закриття Google рекомендує, щоб кожен рядок не перевищував 80 символів.


Ваш приклад невідповідний питанням. Ваше запитання задає рядки на файл, а ваш приклад - символи на рядок.
Jason S

2
Це та сама концепція - площа квадрата, яку ви повинні прокручувати, будь то горизонтальна чи вертикальна.
Девін Г Род

Відповіді:


11

Файл повинен бути достатньо коротким, щоб ви могли знайти будь-яку функцію чи метод, не прокручуючи його назад або вперед кілька разів, не бажаючи запам'ятати рядок пошуку. Я використовую показник - це кількість часу, який я витрачаю на пошук коду у файлі порівняно з його читанням. Якщо це стане помітним, настав час перерозподілити файл або клас.

Хороший розмір базового кодового блоку є досить коротким, як по ширині, так і по висоті, щоб ви могли спроектувати його кишки під час огляду групового коду, і все це вміститься без того, щоб шрифт був настільки малим, що хлопець іззаду конференц-зал не може його прочитати. Цей розмір також допомагає, якщо вас коли-небудь телефонують, щоб пояснити якийсь код, коли все, що у вас є, - це мобільний пристрій або планшет.


Це найкорисніший настанов, дуже дякую!
Devin G Rhode

Чи занадто коротка довжина файлу ? У мене є проект із 35 файлами із середньою довжиною ~ 200 рядків.
Дан

1
@Dan я б ризикнув "ні" як відповідь. Якщо відкриття файлу у вашому налаштуванні занадто важке, можливо, настав час покращити налаштування (тобто плагіни vim, краще IDE, що б не робило emacs)
Майк Граф

@Dan: Занадто короткий файл? Можливо, якщо ви витратите більше часу на пошук правильного крихітного файлу для кількох LOC, замість того, щоб знайти їх у якомусь логічному та тісно пов'язаному (але не занадто довгому) файлі.
hotpaw2

9

Немає такої речі, і якби вона була, це дуже залежало б від того, якою мовою ви користуєтесь (робите те саме в асемблері проти C # або Java, наприклад).

Для мов вищого рівня ви можете побачити це обговорення ТА Для Java / C # 10-20 рядків на метод - це те, що рекомендує Боб Мартін як максимум. Немає дискусій щодо файлів, оскільки це не актуально і залежить від того, що повинен робити клас.

Що стосується обмеження 80 символів на рядок - це повернення до днів перфокарт. Сказавши, що, коли лінії ростуть занадто довго, читабельність страждає.


5
+1: лінії добре тримати менше 80 символів; легше читати та дає більше місця поруч з вікнами
Donal Fellows

6
Особисто я вважаю, що читабельність страждає, коли рядок скручується на кілька рядків, щоб вписатись у 80 чи менше. Там також витрачається час, який вирішують, де робити перерви, або сперечаються з цього приводу.
ergosys

5

Довжина файлів і рядків - це вимірювання вторинних ефектів складності і як такі є дуже різними. Те, на що слід прагнути, - це код без зайвої складності, а не певний максимальний кількість рядків.

Довгі файли, як правило, вказують на те, що методи, підпрограми чи класи надмірно складні (робити занадто багато речей, недостатньо враховувати факти тощо)

Довгі рядки, як правило, вказують на те, що вирази надмірно складні.

Це запахи, які вказують на потенційну проблему з кодом, не чітко визначені цільові показники.


3

Довжина лінії повинна бути такою, що вам не доведеться прокручувати екран, щоб побачити всю лінію. Це залежить від розміру та роздільної здатності монітора.

Методи та функції найкраще, якщо вони вміщаються на одному екрані.

Файли не повинні бути занадто довгими. Найкращими є короткі файли, де легко зрозуміти клас та реалізацію.
Одного разу я працював над проектом, який мав файл 10 класів. Це було як читати дуже складну книгу. Чи потрібно мені сказати, скільки проблем викликала реалізація?


Код не повинен вимагати налаштування монітора з великим шрифтом, особливо для оглядів групового коду.
hotpaw2

"Довжина рядка повинна бути такою, що вам не доведеться прокручувати екран, щоб побачити весь рядок." - що робити, якщо ваш редактор обгортає?
Дан Даскалеску

3

80 символів!

Я пам’ятаю, що коли я робив COBOL , я бачив файли вихідного коду для програм виставлення рахунків приблизно на 80 сторінок і більше. Звичайно, я не можу побачити, що це майже звичайна практика, але 80 символів не менш смішні.

З точки зору розміру класу, якщо ви спробуєте застосувати цю пропозицію до типового класу клієнтів, який має близько 80 властивостей і 20 методів або близько того, вам доведеться розбити клас на кілька інших і зробити код справді дуже безладним.


1
Абсолютно. 80 символів означає, що ви можете роздрукувати розділ коду для мозкового штурму під розумний розмір шрифту на портретному аркуші A4 / Letter. Це також означає, що на комп'ютерному моніторі розумної розробки ви можете переглядати три копії вихідного коду поруч без горизонтальної прокрутки для здійснення тристоронніх злиття (Смішно, що 80x8x3 - 1920 * 8 ').
Марк Бут

2

Я намагаюсь тримати заняття та методи короткими, але не хвилюйтесь так про довжину рядка. У ці дні широких екранів і довгих ідентифікаторів я думаю, що вісімдесят символів - це занадто мало. Потрібна певна робота, щоб зламати висловлювання, щоб вони легко читалися, і з обмеженням вісімдесяти символів це відбувається досить часто. Я думаю, що приблизно 120 або 130 стовпців на рядок є більш розумним.


Я використовую 22-дюймові монітори, перевернуті вертикально, що дає мені 1080 пікселів на кожному екрані (і вертикально, я можу мати 104 рядки коду за один раз!). Утримування ширини рядка до 90 і менше символів є корисним у подібних сценаріях.
Рой Тінкер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.