Reading Time: 4 mins

Klasse Vetheid | Waarom het moet worden gemeten?

Klasse Vetheid | Waarom het moet worden gemeten?

Hoe groot is je klas? – Hoe groot is te groot?

Voor iedereen die de code schrijft, was er deze zorg: wat zou de ideale grootte van mijn code moeten zijn in een klasse/methode/functie.

Het verschilt per ontwikkelaar. Als regel van 30 zegt Steve McConnell in zijn boek Code Complete dat,

Als een element uit meer dan 30 subelementen bestaat, is de kans groot dat er een serieus probleem is:

a) Methoden mogen niet meer dan gemiddeld 30 coderegels bevatten (regelafstanden en opmerkingen niet meegerekend).

b) Een klasse moet gemiddeld minder dan 30 methoden bevatten, wat resulteert in maximaal 900 regels code.

c) Een pakket mag niet meer dan 30 klassen bevatten, dus maximaal 27.000 coderegels.

Studies tonen aan dat het aantal regels code de basis is waarop de kwaliteit en de complexiteit van de software die u bouwt, staat. De echte waarde van een richtlijn als de regel van 30 is wanneer u code beoordeelt en risico’s en kosten identificeert.

Te veel regels code zijn moeilijk te compileren en te testen. Er zijn echter geen ideale statistieken die de vettigheid van de klas meten. Het is niet alleen gebaseerd op ‘mening’, het is gebaseerd op het resultaat van tientallen jaren praktijk. Codebeoordelingen helpen bij het identificeren en oplossen van problemen in de codebase.

In informele beoordelingen kunnen 20 %-30% codedefecten worden gevonden. Studies bij IBM, HP, Microsoft en andere plaatsen tonen aan dat het vele malen goedkoper is om bugs in coderecensies te vinden dan door te testen. En er blijft bewijs binnenkomen om te ondersteunen dat code-reviews werken.

Horus, een technisch managementplatform helpt bij het beoordelen van de coderegels die worden geschreven en wat het betekent voor de ontwikkelaars die het schrijven, de risico’s en kosten die ermee gepaard gaan voor het midden- en topmanagement, ongeacht het domein, het volwassenheidsniveau van de organisatie, of levenscyclusfase waarin ze zijn toegepast.

Lees meer over Horus in het vorige artikel.

Lees ook Cyclomatische Complexiteit

Keerthi Veerappan

An INFJ personality wielding brevity in speech and writing. Marketer @ Zucisystems.