Einige Bücher über Metriken, über die Ihre Universitätsbibliothek wahrscheinlich verfügt, enthalten Software-Metriken sowie Metriken und Modelle in Software Quality Engineering . Diese 2 sollten Ihnen einen Startplatz geben. In der industriellen Welt haben nur sehr wenige Unternehmen überhaupt ein metrisches Messprogramm.
Haben die meisten Unternehmen eine Möglichkeit, müssen sie kein elegantes Programm sein, um aussagekräftige Kennzahlen zu messen?
Visual Studio enthält einige Tools zur Codeanalyse, mit denen Sie loslegen können. Die meisten Unternehmen haben nicht einmal etwas, um die schlechteste Metrik zu messen: Codezeilen. "Just get it done" scheint die überwältigende treibende Kraft in der Branche zu sein, und Bedenken hinsichtlich der Wartbarkeit werden den Bedenken der Manager in Bezug auf "Werde ich dieses Jahr meinen Bonus erhalten?" und "wird dies in der Zeit geschehen, die ich versprochen habe?" Selbst bei Produkten, die sich von Jahr zu Jahr mit inkrementellen Änderungen übertragen, stellten diese beiden Bedenken die Bedenken der Entwickler hinsichtlich Wartbarkeit und Fehlererkennung / -prävention in den Schatten.
Welche einzelnen oder kombinierten Metriken helfen Ihnen dabei, den Umfang und die Schätzungen Ihres Projekts einzugrenzen?
Ich finde, dass zyklomatische Komplexität und Kopplung starke Indikatoren dafür sind, wie fehlerhaft oder wie schwierig es sein wird, den Code zu warten. Wenn die zyklomatische Komplexität bei etwa 20 liegt, ist es meiner Meinung nach fast unmöglich zu testen (da es bis zu 2 ^ 20 Pfade durch den Code gibt) und sollte in kleinere Teile zerlegt werden. Sie können die Komplexität nicht beseitigen, aber Sie können sie in besser handhabbare Teile aufteilen.
Wenn Sie suchen , Schätzung , möchten Sie wahrscheinlich untersuchen Funktion Punkte .
Die Codeabdeckung% senkt jede Iteration drastisch. Machen Sie Ihre Entwickler auf das Problem aufmerksam
Ich finde, dass die meisten Manager sich um die Anzahl der Check-Ins und die Anzahl der Fehler kümmern, die behoben werden. Mein derzeitiger Manager ist gegen Unit-Tests (er hält dies für Zeitverschwendung), und mein vorheriger Manager war der Ansicht, dass die für Unit-Tests aufgewendete Zeit die Zeit war, die eigentlich für das Schreiben hätte aufgewendet werden müssen.
Das von Entwicklern verwendete kanonische Argument lautet: Wenn Sie etwas messen, erhalten Sie nur dieses. Dieses Argument beruht auf der Idee, dass die einzige Metrik Codezeilen sind.