Für mich ist das Problem nicht LOC. Was ich sehe, sind mehrere Faktoren. Zuerst überprüfe ich meine If-Else-If-Anweisungen. Wenn viele von ihnen die gleichen Bedingungen haben oder einen ähnlichen Code ausführen, versuche ich das zu reformieren. Dann schaue ich mir meine Methoden und Variablen an. In jeder einzelnen Klasse sollte diese Klasse eine primäre Funktion und nur diese Funktion haben. Wenn es Variablen und Methoden für einen anderen Bereich enthält, sollten Sie diese in ihre eigene Klasse aufnehmen. So oder so vermeiden Sie, LOC aus zwei Gründen zu zählen:
1) Es ist eine schlechte Metrik. Wenn Sie LOC zählen, zählen Sie nicht nur lange Zeilen, sondern auch Zeilen, die Leerzeichen sind und für Kommentare verwendet werden, als wären sie gleich.Sie können dies vermeiden, aber gleichzeitig zählen Sie immer noch kleine Linien und lange Linien.
2) Es ist irreführend. Lesbarkeit ist nicht nur eine Funktion von LOC. Eine Klasse kann perfekt lesbar sein, aber wenn Sie eine LOC-Zählung haben, gegen die sie verstößt, werden Sie feststellen, dass Sie hart daran arbeiten, so viele Zeilen wie möglich herauszuquetschen. Sie können sogar den Code WENIGER lesbar machen. Wenn Sie das LOC verwenden, um Variablen zuzuweisen und sie dann in einem Methodenaufruf zu verwenden, ist es besser lesbar, als die Zuweisungen dieser Variablen direkt im Methodenaufruf selbst aufzurufen. Es ist besser, 5 Zeilen lesbaren Code zu haben, als ihn in einer Zeile unlesbaren Codes zu verdichten.
Stattdessen würde ich die Tiefe des Codes und die Zeilenlänge betrachten. Das sind bessere Metriken, weil sie dir zwei Dinge sagen. Erstens, die verschachtelte Tiefe sagt Ihnen, ob Sie Logik müssen refaktoriert werden. Wenn Sie If-Anweisungen oder Schleifen betrachten, die mehr als 2 tief verschachtelt sind, sollten Sie ernsthaft über das Refactoring nachdenken. Erwägen Sie das Refactoring, wenn Sie mehr als eine Verschachtelungsebene haben. Zweitens, wenn eine Zeile lang ist, ist sie im Allgemeinen sehr unlesbar. Versuchen Sie, diese Zeile auf mehrere lesbare Zeilen zu trennen. Dies könnte Ihr LOC-Limit brechen, wenn Sie eines haben, aber es verbessert tatsächlich die Lesbarkeit.
Gute Praxis Sitzung-auf-Stoß-Stunden zählen ??? –
Verwandte Frage: http://stackoverflow.com/questions/2222831/when-is-a-class-too-long – sleske