Мені було цікаво, якщо хтось знав рекомендацію з поважного джерела щодо максимальної кількості рядків коду для даного файлу. Наприклад, лінійка закриття Google рекомендує, щоб кожен рядок не перевищував 80 символів.
Мені було цікаво, якщо хтось знав рекомендацію з поважного джерела щодо максимальної кількості рядків коду для даного файлу. Наприклад, лінійка закриття Google рекомендує, щоб кожен рядок не перевищував 80 символів.
Відповіді:
Файл повинен бути достатньо коротким, щоб ви могли знайти будь-яку функцію чи метод, не прокручуючи його назад або вперед кілька разів, не бажаючи запам'ятати рядок пошуку. Я використовую показник - це кількість часу, який я витрачаю на пошук коду у файлі порівняно з його читанням. Якщо це стане помітним, настав час перерозподілити файл або клас.
Хороший розмір базового кодового блоку є досить коротким, як по ширині, так і по висоті, щоб ви могли спроектувати його кишки під час огляду групового коду, і все це вміститься без того, щоб шрифт був настільки малим, що хлопець іззаду конференц-зал не може його прочитати. Цей розмір також допомагає, якщо вас коли-небудь телефонують, щоб пояснити якийсь код, коли все, що у вас є, - це мобільний пристрій або планшет.
Немає такої речі, і якби вона була, це дуже залежало б від того, якою мовою ви користуєтесь (робите те саме в асемблері проти C # або Java, наприклад).
Для мов вищого рівня ви можете побачити це обговорення ТА Для Java / C # 10-20 рядків на метод - це те, що рекомендує Боб Мартін як максимум. Немає дискусій щодо файлів, оскільки це не актуально і залежить від того, що повинен робити клас.
Що стосується обмеження 80 символів на рядок - це повернення до днів перфокарт. Сказавши, що, коли лінії ростуть занадто довго, читабельність страждає.
Довжина файлів і рядків - це вимірювання вторинних ефектів складності і як такі є дуже різними. Те, на що слід прагнути, - це код без зайвої складності, а не певний максимальний кількість рядків.
Довгі файли, як правило, вказують на те, що методи, підпрограми чи класи надмірно складні (робити занадто багато речей, недостатньо враховувати факти тощо)
Довгі рядки, як правило, вказують на те, що вирази надмірно складні.
Це запахи, які вказують на потенційну проблему з кодом, не чітко визначені цільові показники.
Довжина лінії повинна бути такою, що вам не доведеться прокручувати екран, щоб побачити всю лінію. Це залежить від розміру та роздільної здатності монітора.
Методи та функції найкраще, якщо вони вміщаються на одному екрані.
Файли не повинні бути занадто довгими. Найкращими є короткі файли, де легко зрозуміти клас та реалізацію.
Одного разу я працював над проектом, який мав файл 10 класів. Це було як читати дуже складну книгу. Чи потрібно мені сказати, скільки проблем викликала реалізація?
80 символів!
Я пам’ятаю, що коли я робив COBOL , я бачив файли вихідного коду для програм виставлення рахунків приблизно на 80 сторінок і більше. Звичайно, я не можу побачити, що це майже звичайна практика, але 80 символів не менш смішні.
З точки зору розміру класу, якщо ви спробуєте застосувати цю пропозицію до типового класу клієнтів, який має близько 80 властивостей і 20 методів або близько того, вам доведеться розбити клас на кілька інших і зробити код справді дуже безладним.
Я намагаюсь тримати заняття та методи короткими, але не хвилюйтесь так про довжину рядка. У ці дні широких екранів і довгих ідентифікаторів я думаю, що вісімдесят символів - це занадто мало. Потрібна певна робота, щоб зламати висловлювання, щоб вони легко читалися, і з обмеженням вісімдесяти символів це відбувається досить часто. Я думаю, що приблизно 120 або 130 стовпців на рядок є більш розумним.