Was ist ein gutes Verhältnis zwischen der Anzahl der Klassen und der Anzahl der Codezeilen für eine objektorientierte Sprache (z.B. C++, C#, Java und ähnliche)?
Viele Leute, darunter auch Manager, mögen die traditionelle LOC-Metrik (lines of code) zur Messung der Komplexität von Software, während viele hartgesottene objektorientierte Entwickler sagen werden, dass LOC wertlos ist und es auf die Anzahl der Klassen ankommt. Ich persönlich bin der Meinung, dass Klassen ein vernünftigeres Maß für Komplexität sind, dass aber ohne eine LOC-Metrik die tatsächliche Komplexität dieser Klassen (die Anzahl der Poltergeister und Götter darin) schwer abzuschätzen ist.
Weiß also jemand, was wahrscheinlich ein gesundes Verhältnis für eine ziemlich gut programmierte Software ist?
Bearbeiten: In diesem speziellen Fall bin ich auf der Suche nach einem Verhältnis, um eine ungefähre Schätzung zu ermitteln, wie viel Refactoring erforderlich sein könnte, um den Code zu bereinigen.
Edit: Kennt jemand Kennzahlen für einige große OSS-Projekte wie Firefox, Apache, Webkit, etc...?