Netbeans 7.4 führt "maximal 10 Zeilen" pro Methodenregel ein. Woher kommt diese Regel? [geschlossen]

80

NetBeans 7.4 Beta steht derzeit zum öffentlichen Download zur Verfügung und führt standardmäßig eine seltsame Warnregel ein:

Die Methodenlänge beträgt 16 Zeilen (10 zulässig)

Meine Frage ist: Ist dies eine akzeptierte Code-Konventionsregel, die irgendwo irgendwie bewiesen werden kann? NetBeans-Support / Entwickler sagen, dass es kein Fehler ist, geben aber keine Erklärung ab, warum sie nur 10 Zeilen zulassen und wo genau diese Regel ihren Ursprung hat.

Sliq
quelle
25
Es ist eine verrückte Regel, die noch absurder wird, weil die 10 Zeilen Leerzeichen enthalten.
13
Ja, lassen Sie uns alle unsere leeren Zeilen entfernen ... das wird den Code verbessern :)
Chris Laarman
2
Leerzeichen sind nicht mehr enthalten. Aktualisieren Sie Ihre NB-Installation auf Patch 1. netbeans.org/bugzilla/show_bug.cgi?id=237620
Ben
5
Wie ich verstanden habe: Es ist etwas, das uns dazu zwingt, unsere Gedanken beim Schreiben von Code besser zu planen. dh wenn es länger sein muss, kann es geteilt werden.
SaidbakR

Antworten:

129

Sie können das maximale Warnverhalten für Methoden- / Funktionslängen in den NetBeans-Optionen ändern (unter Extras-> Optionen-> Editor auf der Registerkarte Hinweise im Abschnitt " Zu viele Zeilen " in der Kontrollkästchenliste).

Dort können Sie die maximale Anzahl von Zeilen festlegen, wie Sie gewarnt werden möchten usw.

Ich glaube, dass die Regel von NetBeans-Entwicklern eingeführt wurde, weil bei der Arbeit in Teams die automatisierten Tools, mit denen QAs Code-Methoden verwenden, lange Methodendeklarationen / Funktionskörper kennzeichnen. Leider nimmt der Einsatz automatisierter Tools durch "Code-Analysten" zu, während ihr Verständnis der Gründe dafür noch begrenzt ist. Ich sage nicht, dass Ihre Funktionen Hunderte von Zeilen lang sein sollten - das ist einfach falsch, aber eine fest codierte Zahl als Codierungsgesetz - kommen Sie!

Milen
quelle
6
Um ehrlich zu sein, sagt jede Metrik, die ich gesehen habe, dass die Lesbarkeit des Codes mit zunehmender Funktionslänge abnimmt. Code Complete 2 geht sogar so weit zu sagen, dass die Wartbarkeit ab etwa Zeile 50
steil abfällt
1
Vergessen Sie nicht, zuerst das Rollup "Sprache" auf "PHP" umzustellen, wenn Sie mehrere Codierungssprachen in Ihren NetBeans installiert haben.
Panticz
Joost Visser beim Erstellen wartbarer Software sagt 15 Zeilen. Dies ist jedoch im Zusammenhang mit der gesamten Codebasis zu betrachten. Einige Einheiten, die länger als 15 Zeilen sind, geben keinen Anlass zur Sorge, mehrere Einheiten mit 100 Zeilen jedoch.
Alonso del Arte
25

Die "10-Zeilen-Regel" hat mit der Durchsetzung einer testgetriebenen Entwicklung zu tun. Die Theorie besagt, dass jede Methode mit mehr als zehn Zeilen besser in testbare Einheiten unterteilt werden kann. Theoretisch hält es, aber in der Praxis ist eine solche Warnung eher ärgerlich als hilfreich.

Matt
quelle
9
"10 Zeilen Regel" stellt sicher, dass Sie einen Großteil Ihres Tages damit verbringen, neue Namen für Ihre Methoden zu denken
Ivan Marjanovic
0

Ich denke, es gibt keine Konvention darüber, und es ist sehr schwierig, kleine Funktionen insbesondere in großen Projekten zum Laufen zu bringen.

Ich habe das Gefühl, dass das Problem in NetBeans (oder der Regel) darin besteht, Zeilen mit nur einer Klammer oder Dokumentation zu zählen.

Dieser Artikel gibt ihm eine Meinung zu Schreibfunktionen mit 5-15 Zeilen.

Carlos Huchim
quelle
0

Ich deaktiviere immer diese Warnung sowie die Warnung vor zu vielen verschachtelten Blöcken. Ich verstehe die Idee, keine großen Methoden zu haben, aber die meiste Zeit ist es einfach nicht praktikabel, und wie jemand anderes erwähnt hat, wenn Sie Ihren Code immer wieder in beliebige Funktionen aufteilen, um die IDE zu beschwichtigen, wird der Spaghetti-Code überall herumspringen Auch das Refactoring wird später zu einem großen Problem.

Wie bei der Warnung zur Begrenzung der Zeilenlänge haben Sie 1985 möglicherweise eine Zeile mit einer Länge von 50 Zeichen seitwärts scrollen lassen, aber heute haben wir größere Monitore (jetzt auch in Farbe!). Ich habe gesehen, wie Leute eine Codezeile verstümmeln, indem sie Variablennamen so kürzen, dass sie in die Grenze passen, und eine perfekt lesbare Codezeile in ein nicht entzifferbares Durcheinander verwandeln, nur damit sie in die Grenze passt.

Persönlich denke ich, dass diese drei Regeln zusammen mehr Müll-Spaghetti-Code verursacht haben, als dazu beigetragen haben, lesbaren / testbaren Code zu erstellen.

LordWabbit
quelle
-1

Ich denke, es gibt keine solche Regel. Ich dachte immer, eine gute Konvention wäre nicht mehr Codezeilen in einer Klasse, als man ohne Scrollen lesen kann. 10 Zeilen scheinen mir nicht sehr viel zu sein, aber im Allgemeinen dienen sie der Übersicht und erleichtern das Testen.

to4dy
quelle
5
Für mich sollte eine 1-seitige Klasse definitiv auch kein Ziel sein. Es ist einfach, Regeln zu setzen, um die Anzahl der Zeilen zu begrenzen, aber Sie müssen Ihre Codelogik trotzdem irgendwo platzieren . Es gibt auch eine Grenze dafür, wie viele Funktions- / Klassen-Jump-Ins und Jump-Outs der Geist zusammenhalten kann.
Userfuser