Netbeans 7.4 вводить “максимум 10 рядків” для кожного правила методу. Звідки це правило? [зачинено]


80

Наразі бета-версія NetBeans 7.4 доступна для загального завантаження та за замовчуванням вводить дивне правило попередження:

Довжина методу - 16 рядків (10 дозволених)

Моє запитання: чи є це прийнятим правилом кодексу, яке можна десь довести? Підтримка / розробники NetBeans кажуть, що це не помилка, але не повідомляйте, чому вони дозволяють лише 10 рядків, і звідки саме це правило бере свій початок.


25
Це божевільне правило, яке ще більше абсурдує той факт, що 10 рядків включають пробіли.

13
Так, давайте всі видалимо наші порожні рядки ... це покращить код :)
Кріс Лаарман

2
Пробіли більше не включаються. Оновіть свою установку NB до виправлення 1. netbeans.org/bugzilla/show_bug.cgi?id=237620
Бен,

5
Як я зрозумів: це щось, що змушує нас краще планувати свій розум під час написання коду. тобто якщо він повинен бути довшим, то його можна розділити.
SaidbakR

Відповіді:


129

Ви можете змінити поведінку попередження про максимальну довжину методу / функції в параметрах NetBeans (це в меню Інструменти-> Параметри-> Редактор , на вкладці Підказки , в розділі « Забагато рядків » у списку прапорців).

Там ви можете встановити максимальну кількість рядків, як ви хочете отримувати попередження тощо.

Я вважаю, що правило було запроваджене розробниками NetBeans, оскільки при роботі в команді автоматизовані інструменти, які контролюють якість, використовують для "перевірки" коду довгих оголошень методів / функцій органів. На жаль, використання автоматизованих інструментів "аналітиками коду" зростає, хоча їх розуміння причин, які все ще є, все ще обмежене. Я не кажу, що ваші функції повинні складати сотні рядків - це просто неправильно, але жорстко закодоване число як закон кодування - давай!


6
Чесно кажучи, кожен показник, який я бачив, говорить, що читабельність коду падає із збільшенням довжини функції. Code Complete 2 навіть заходить так далеко, що говорить про те, що ремонтопридатність починає стрімко падати приблизно на рядку 50.
cwallenpoole

1
Не забудьте спочатку переключити зведення "Мова" на "PHP", якщо у вас встановлено кілька мов кодування у вашому NetBeans.
panticz

Джоост Віссер у розробці програмного забезпечення, що підтримується, говорить 15 рядків. Але це слід розглядати в контексті всієї кодової бази. Кілька одиниць довжиною більше 15 рядків не викликають занепокоєння, але кілька одиниць із 100 рядків можуть бути.
Алонсо дель Арте

25

«Правило 10 рядків» пов’язане із забезпеченням розробки за допомогою тесту. Теорія полягає в тому, що будь-який метод, який має більше десяти рядків, можна краще розбити на одиниці, що підлягають тестуванню. це витримує теоретично, але на практиці подібне попередження більше дратує, ніж допомагає.


9
"Правило 10 рядків" гарантує, що ви витрачаєте більшу частину дня на обдумування нових імен своїх методів
Іван Марянович,

0

Я думаю, що про це немає домовленості, і дуже важко зробити маленькі функції, зокрема, працюючи у великих проектах.

Я вважаю, що проблема в NetBeans (або правило) полягає в підрахунку рядків лише з однією дужкою або документацією.

Ця стаття дає йому думку про функції запису з 5-15 рядками.


0

Я завжди вимикаю це попередження, а також попередження про занадто багато вкладених блоків. Я розумію думку про відсутність великих методів, але БАГАТО часу це просто непрактично, і, як хтось інший згадував, якщо ви продовжуєте ділити свій код на довільні функції просто для того, щоб заспокоїти IDE, у вас кінець спагетті-коду перестрибує всюди , рефакторинг також стає величезною проблемою пізніше.

Так само, як попередження про обмеження довжини рядка, можливо, рядок довжиною 50 символів змусив вас прокрутити вбік у 1985 році, але сьогодні у нас є більші монітори (зараз теж кольорові!). Я бачив, як люди калічать рядок коду, скорочуючи імена змінних, щоб він містився в межах обмеження, перетворюючи цілком читабельний рядок коду в нерозбірливий безлад просто так, щоб він містився в межах обмеження.

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


-1

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


5
Для мене односторінковий клас однозначно не повинен бути тим, до чого теж прагнути. Легко встановити правила для обмеження кількості рядків, але вам все одно потрібно десь розмістити логіку коду . Існує також обмеження на те, скільки функцій / класу стрибків та класу, які може містити один розум.
userfuser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.