2010-06-25 21 views
8

Gibt es gute Code-Messwerkzeuge?Gute Code Messwerkzeuge?

Ich fand code measure ziemlich nützlich und interessant, aber ich glaube nicht, dass ich $ 1K/Jahr bezahlen kann, nur mit dem Messwerkzeug.

ich dort vorstellen könnte ein Werkzeug sein, das ist/kann

  • Open-Source-Software
  • sprachunabhängige
  • OS unabhängige
  • messen die Metriken aus verschiedenen Kategorien: LOC, LOC ohne Leerzeilen , Anzahl der Funktionen ...
+0

Für welche Sprache? –

+0

@ 0xA3 - CodeMeasure beschreibt sich selbst als "sprachunabhängig". Also, wenn das der Maßstab ist ... – APC

+1

http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis – Macmade

Antwort

3

Für grundlegende Line-Count-Metriken wie die, die Sie beschreiben, versuchen Sie cloc.

Meine 2c-wert: Code-Metriken sind in der Regel schlechter als nutzlos. Der einzige Wert, den ich je bekommen habe, ist die Effizienz einer Sprache gegenüber einer anderen zu messen.

+0

Cloc ist gut, ich benutze es für alle meine Projekte, wo mir die Zeilenzahl wichtig ist. – tomdemuyt

+0

Über welche Kennzahlen sprechen Sie als "schlechter als nutzlos"? Ihre Aussage ist zu weit gefasst, um zu helfen. –

+1

@Andy: So ziemlich alle: Codezeilen, zyklomatische Komplexität, Fehlerinjektionsraten usw. Einmal, nachdem ich einige tausend Codezeilen auf ein 200-Zeilen-Code-Gen-Skript reduziert hatte, ein Kollege, der war besessen von Metriken, die mir sagten, dass mein Code von durchschnittlicher Qualität sei, weil mein Fehler-Injektionsrate-zu-LOC-Verhältnis für die Sprache, die wir verwendeten, gleichrangig war. Es störte ihn überhaupt nicht, dass das LOC um eine Größenordnung zurückgegangen war, während die Fehlerzahl unverändert blieb. Messwerte helfen beim täglichen Erstellen von Cookies, nicht wenn alles, was Sie schreiben, brandneu ist. –

0

Mit 82 code metrics unterstützt NDepend ist die Code-Metrik Rolls Royce Tool für .NET-Entwickler.

0

Sonar ist eine Java-basierte serverseitige Anwendung zur Codemessung. Es richtet sich hauptsächlich an Java, aber die Unterstützung für andere Sprachen ist über Plugins verfügbar.