Clean Code : wat zijn de voordelen voor uw projecten en de efficiëntie van de ontwikkelaars?
Is het u ooit opgevallen dat hoe ouder een applicatie is, hoe langer het duurt om bugs op te lossen of nieuwe functies toe te voegen? Deze toename in tijd betekent hogere kosten, hetzij voor ontwikkeling - analyse, implementatie en testen - hetzij voor het onderhoud.
De reden: te vaak stoppen ontwikkelaars wanneer hun code werkt, niet wanneer hun code goed in elkaar zit.
Wij wilden u kennis laten maken met een aanpak die door onze teams van ontwikkelaars wordt toegepast: Clean Code. Ondanks het feit dat deze aanpak reeds 20 jaar bestaat wordt toegepast in de software-industrie, is het in vele domeinen nog vrij onbekend.
Signalen die niet legen
Hier volgen enkele indicatoren die de moeilijkheden verklaren die zich voordoen met de code van vele computerontwikkelingen.
- [Commentaren] De toepassing toont ongepast commentaar, onjuist commentaar, of zelfs stukken van becommentarieerde code voor een duistere reden
- [Omgeving] De toepassing vereist verscheidene ingewikkelde stappen om te worden uitgerold of de tests zijn ingewikkeld om uit te voeren.
- [Functies] Functies hebben te veel argumenten, onnodige parameters of functies die niet meer worden aangeroepen.
- [Code in het algemeen] Er is dubbele of niet-expliciete code, controles die niet worden uitgevoerd, of dode code (nooit uitgevoerd).
Stijf, fragiel, complex, onnodig herhalend, de code van een toepassing is dan moeilijk aan te passen.
De Clean Code-aanpak als antwoord
Clean Code is zonder twijfel de oplossing voor deze problemen. Het is een uiterst pragmatische aanpak die een antwoord geeft op de vraag: "Waarom worden ontwikkelaars traag? ".
Deze methode is gebaseerd op fundamentele pijlers zoals het schrijven van geautomatiseerde tests of programmeringsprincipes zoals de 5 SOLID-principes, bedoeld om begrijpelijker, flexibeler en onderhoudbaarder software-architecturen te produceren.
In Clean Code vinden we ook de toepassing van een bekend Scout-principe: "Als ik een codebestand verlaat, laat ik het schoner achter dan toen ik erin aankwam".
Clean Code beveelt niet alleen het gebruik van erkende standaarden aan, maar blijft ook herhalen: "Keep it simple stupid" (eenvoudiger is altijd beter). En dit heerst op alle niveaus:
- Ontwerpregels
- Naamgevingsregels
- Commentaren
- Structuur van de broncode
- Gegevensstructuur
- ...
In het begin kan deze aanpak intimiderend lijken omdat het gaat om het in vraag stellen en veranderen van slechte praktijken die door teams worden gebruikt... Voor sommigen kan het zelfs saai lijken en niet veel waarde toevoegen. Dit gevoel is te wijten aan het feit dat het om een reeks kleine regels gaat die, afzonderlijk beschouwd, niets lijken op te lossen.
Toch verandert het echt het leven van een heel team:
- Code is makkelijker te onderhouden.
- Het onderhoud wordt versneld of verminderd.
- Nieuwe functies toevoegen zonder bang te hoeven zijn dat eerdere ontwikkelingen in gevaar komen.
Zelfs als we besluiten om slechts een deel van de Clean Code principes toe te passen, kan het al het dagelijks leven van de ontwikkelaars verbeteren. En als je de tijd neemt om geautomatiseerde tests op te zetten, is de gemoedsrust over niet-regressieproblemen bevrijdend.
Conclusie
Is Clean Code gemakkelijk te implementeren?
Neen. Zoals alles wat nieuw is, is het nooit gemakkelijk. Je moet nieuwe concepten integreren, ze in praktijk brengen en onder de knie krijgen. Dit kan niet allemaal in één dag.
Lost Clean Code alle problemen op?
Neen. Maar als veel van de beginselen correct worden toegepast, kunnen ontwikkelaars zich concentreren op de eisen van de klant en niet op de fouten van vorige ontwikkelaars.
Is schone code de moeite waard?
Ja, ontwikkelaar zijn is een moeilijke job die vroeger voorbehouden was aan ingenieurs. Het is geen triviale taak: het idee om een klant begrijpen en het vertalen in computertaal kan complex zijn. Bij dit proces kunnen een tiental verschillende specialisten betrokken zijn (backend, frontend, infrastructuur, beveiliging, mobiel, testen...).
Clean Code moet worden beschouwd als een gereedschapskist voor ontwikkelaars van om het even welke programmeertaal. Deze gereedschapskist is de bundeling van tientallen jaren ervaring in computerontwikkeling. Het zou zonde zijn om ons dat te ontzeggen.
Blog post written by Benjamin
Web developer at Contraste Digital
-------
Sources :
-
https://en.wikipedia.org/wiki/Robert_C._Martin en [FR] et en [EN]
-
Book : "Une histoire de l'industrie du logiciel"
-
Book : "Coder proprement - Robert C. Martin - edition en français de 2013"
-
Video Youtube: https://www.youtube.com/watch?v=7EmboKQH8lM – introduction
-
Website : https://moderatemisbehaviour.github.io/clean-code-smells-and-heuristics/