Netbeans 7.4 wprowadza „maksymalnie 10 linii” na regułę metody. Skąd ta zasada? [Zamknięte]

80

NetBeans 7.4 beta jest obecnie dostępna do publicznego pobrania i domyślnie wprowadza dziwną regułę ostrzegawczą:

Długość metody to 16 linii (10 dozwolonych)

Moje pytanie brzmi: czy jest to przyjęta reguła konwencji kodowej, którą można gdzieś udowodnić? Wsparcie / deweloperzy NetBeans mówią, że to nie jest błąd, ale nie podawaj informacji, dlaczego zezwalają tylko na 10 linii i skąd dokładnie ta reguła ma swój początek.

Sliq
źródło
25
To szalona zasada, która jest jeszcze bardziej absurdalna przez fakt, że 10 linii zawiera spacje.
13
Tak, usuńmy wszystkie nasze puste linie ... to poprawi kod :)
Chris Laarman
2
Spacje nie są już uwzględniane. Zaktualizuj instalację NB do poprawki 1. netbeans.org/bugzilla/show_bug.cgi?id=237620
Ben,
5
Jak zrozumiałem: jest to coś, co zmusza nas do lepszego planowania umysłu podczas pisania kodu. tzn. jeśli ma być dłuższy, to można go podzielić.
SaidbakR

Odpowiedzi:

129

Możesz zmienić zachowanie ostrzeżenia o maksymalnej długości metody / funkcji w opcjach NetBeans (w menu Narzędzia-> Opcje-> Edytor , na karcie Wskazówki , w sekcji „ Zbyt wiele linii ” na liście pól wyboru).

Tam możesz ustawić maksymalną liczbę linii, sposób ostrzegania itp.

Uważam, że reguła została wprowadzona przez programistów NetBeans, ponieważ podczas pracy w zespołach zautomatyzowane narzędzia używane przez QA do „inspekcji” kodu oznaczają długie deklaracje metod / treści funkcji. Niestety, wzrasta wykorzystanie zautomatyzowanych narzędzi przez „analityków kodu”, podczas gdy ich zrozumienie przyczyn tego stanu rzeczy jest wciąż ograniczone. Nie mówię, że twoje funkcje powinny składać się z setek linii - to po prostu błędne, ale zakodowana liczba jako prawo kodowania - daj spokój!

Milen
źródło
6
Trzeba przyznać, że każda miara, którą widziałem, mówi, że czytelność kodu spada wraz ze wzrostem długości funkcji. Code Complete 2 posuwa się nawet do stwierdzenia, że
łatwość
1
Nie zapomnij najpierw przełączyć pakietu zbiorczego „Język” na „PHP”, jeśli zainstalowałeś wiele języków kodowania w swoim NetBeans.
panticz
Joost Visser z Building Maintainable Software mówi o 15 liniach. Ale należy to rozpatrywać w kontekście całej bazy kodu. Kilka jednostek dłuższych niż 15 linii nie jest powodem do niepokoju, ale kilka jednostek 100-liniowych byłoby.
Alonso del Arte
25

„Zasada 10 linii” dotyczy wymuszania programowania opartego na testach. Teoria mówi, że każdą metodę, która ma więcej niż dziesięć linii, można lepiej podzielić na jednostki, które można przetestować. w teorii utrzymuje się, ale w praktyce takie ostrzeżenie jest bardziej irytujące niż pomocne.

Matt
źródło
9
„Zasada 10 linii” sprawia, że ​​spędzasz większą część dnia na myśleniu o nowych nazwach swoich metod
Ivan Marjanovic
0

Myślę, że nie ma co do tego żadnej konwencji i bardzo trudno jest tworzyć małe funkcje, zwłaszcza pracując w dużych projektach.

Czuję, że problem z NetBeans (lub regułą) polega na liczeniu wierszy za pomocą tylko jednego nawiasu lub dokumentacji.

Ten artykuł przedstawia mu opinię o funkcjach zapisu z 5-15 wierszami.

Carlos Huchim
źródło
0

Zawsze wyłączam to ostrzeżenie, a także ostrzeżenie o zbyt wielu zagnieżdżonych blokach. Rozumiem pomysł, że nie ma dużych metod, ale w większości przypadków jest to po prostu niepraktyczne i jak ktoś inny wspomniał, jeśli będziesz dalej dzielić swój kod na dowolne funkcje tylko po to, aby uspokoić IDE, kończy się to, że kod spaghetti przeskakuje wszędzie , później również refaktoryzacja staje się dużym problemem.

To samo, co ostrzeżenie o limicie długości linii, być może linia o długości 50 znaków sprawiła, że ​​w 1985 r. Przewijałeś się w bok, ale dziś mamy większe monitory (teraz również kolorowe!). Widziałem, jak ludzie okaleczają wiersz kodu, skracając nazwy zmiennych, tak aby mieścił się w limicie, zamieniając doskonale czytelną linię kodu w nieczytelny bałagan, tylko po to, aby zmieścił się w limicie.

Osobiście uważam, że te trzy reguły razem spowodowały więcej śmieciowego kodu spaghetti, niż pomogły w stworzeniu czytelnego / testowalnego kodu.

LordWabbit
źródło
-1

Myślę, że nie ma takiej zasady. Zawsze myślałem, że dobrą konwencją byłoby nie więcej wierszy kodu w klasie niż można czytać bez przewijania. 10 linii nie wydaje mi się zbyt wiele, ale generalnie służy do celów ogólnych i łatwiejszego testowania.

to4dy
źródło
5
Dla mnie jednostronicowe zajęcia zdecydowanie nie powinny być czymś, do czego można aspirować. Łatwo jest wprowadzić reguły ograniczające liczbę wierszy, ale nadal musisz gdzieś umieścić logikę kodu . Istnieje również ograniczenie liczby włączeń i wyskoków funkcji / klas, które może pomieścić umysł.
userfuser