+31 (0) 53 30 33 600

Hoe realiseer je kwalitatief goede code

 – Houd de interfaces van units klein  (‘Keep Unit Interfaces Small’)

- Blog 5 - 

Kwalitatief goede software voorkomt hoge kosten voor onderhoud en aanpassingen, performance problemen, downtime, gegevensverlies en imagoschade. Vandaar dat we bij OVSoftware garant staan voor de goede kwaliteit van de softwarecode die we opleveren. Dit doen we onder andere door bij de ontwikkeling van maatwerk softwareoplossingen de tien richtlijnen voor codekwaliteit van de Software Improvement Group (SIG) toe te passen. In een serie van tien blogs leggen onze IT-professionals uit wat deze richtlijnen zijn, hoe zij developers ondersteunen bij het schrijven van code en welke voordelen ze opleveren voor de klant.

‘Keep unit interfaces Small’ – wat houdt dat in? 

Als we het hebben over een unit interface is het handig om eerst uit te leggen wat een unit nu eigenlijk is. Een unit is een functie in je softwarecode die een bepaald aantal regels code uitvoert, bijvoorbeeld het versturen van een e-mail. Een e-mail is niet compleet zonder een aantal aanvullende stukjes informatie zoals de aanhef en een onderwerpregel. Dit zijn de zogenaamde parameters van een functie. Een interface is het totaal van de parameters die je mee kunt geven aan een unit. Het gevaar bestaat dat je bij het programmeren van een functie al snel te veel parameters meeneemt – een aantal dat bovendien bij latere aanpassingen steeds groter wordt. Je wilt dan niet alleen gebruik kunnen maken van een aanhef en onderwerpregel, maar ook mensen in cc op kunnen nemen of bijlagen mee kunnen sturen. De richtlijn ‘keep unit interfaces small’ stelt dat je het aantal parameters per functie op maximaal vier houdt.

Martin Aarnoudse

Meer informatie? Neem contact met mij op!


De richtlijn toegepast in de praktijk 

Ik ben op dit moment bezig met een traject waar mensen op basis van hun werkrooster aan moeten geven hoe hun woon-werkverkeer eruit ziet. Door eenmalig aan te geven waar hun huis, het kantoor of andere locaties zich bevinden, worden de gereisde afstanden berekend. Het registreren van deze vertrek- en doeladressen kan op verschillende manieren: met behulp van een postcode, x- en y- coördinaten en ISO-landcodes. Wil je deze gegevens vastleggen in de code van een unit, dan zit je al snel op meer dan vier parameters. Parameters die bij elkaar passen, kun je samenvoegen in een adresobject en deze vervolgens als één parameter opnemen in je unit. Omdat er in dit voorbeeld telkens sprake is van een vertrek- en aankomstadres, kun je bovendien het adresobject, twee keer gebruiken.


Zo helpt de richtlijn mij als ontwikkelaar 

Door het aantal parameters beperkt te houden, is de code veel eenvoudiger te lezen en te begrijpen. Dat maakt het (her-)gebruik van functies ook makkelijker en de kans op het maken van fouten wordt minder. Eigenlijk is het feit dat een functie veel parameters heeft op zich niet het probleem, maar eerder een indicatie van een onderliggend issue. Namelijk dat er sprake is van een slecht datamodel of dat code ad hoc wordt aangepast. Als developer is het werken in goed geschreven functies met een beperkt aantal parameters veel fijner, het is een bepalende factor voor het plezier dat je hebt in je werk.

Dit levert de richtlijn op voor de klant 

Net als de andere tien SIG-richtlijnen voor het realiseren van softwarecode van hoge kwaliteit draagt deze richtlijn bij aan het eenvoudiger kunnen begrijpen, (her-)gebruiken en onderhouden van software. Met op termijn lagere kosten als gevolg. Omdat een unit slechts zo’n klein onderdeel is van je softwareoplossing, zou je kunnen denken dat het belang ervan minimaal is. Maar al deze kleine units samen leggen wél de basis voor je hele systeem - en allemaal kleine foutjes bij elkaar kunnen ook leiden tot grotere problemen. In mijn ogen is de bijdrage die je kunt leveren aan het welzijn en de tevredenheid van je medewerkers minstens zo belangrijk. Als ik als developer kan werken met goed onderhoudbare code, dan word ik daar gewoon blij van. En blije developers zijn productieve en innovatieve developers.


Over de auteur

Martin is Senior IT-Professional bij OVSoftware met een specialisatie in .NET en Blockchain. Hij heeft veel ervaring met het ontwikkelen van maatwerk software voor klanten, voornamelijk binnen de overheid. Daarnaast adviseert hij hen over het wel/niet inzetten van Blockchain en geeft hij presentaties over dit onderwerp aan divers publiek (bedrijven, overheid, developers, studenten). Begeleiden van afstudeerders bij het proces en inhoudelijk op het gebied van IoT en Blockchain hoort ook bij zijn taken.

Contact

Wil je meer informatie over OVSoftware?
Neem dan contact op.

Werken bij OVSoftware

Wil je meer weten over onze bedrijfscultuur en vacatures?
Bekijk dan onze werken bij pagina

Branches

Wil je meer weten over de branches waarbinnen OVSoftware actief is?
Bekijk de branches.

Referenties & Projecten

Lees hier klantreferenties en door OVSoftware begeleide lopende en afgeronde projecten waar wij trots op zijn.

Over ons

OVSoftware is één van de eerste softwarebedrijven van Nederland.
Lees meer over ons.

Volg ons op