Middle
Wat beschouw jij als kwalitatieve code?
sobes.tech AI
Antwoord van AI
Voor mij heeft kwalitatieve code de volgende kenmerken:
- Leesbaarheid: Het is gemakkelijk te begrijpen voor andere ontwikkelaars (en voor jezelf na een half jaar).
- Onderhoudbaarheid: Wijzigingen en bugfixes worden snel en veilig doorgevoerd.
- Testbaarheid: De code is opgesplitst in modules die gemakkelijk geïsoleerd en getest kunnen worden.
- Netheid: Geen duplicatie (
DRY), duidelijke namen voor variabelen en functies, volgt de code-stijl. - Efficiëntie: Optimaal gebruik van bronnen (processor, geheugen) voor de taak.
- Betrouwbaarheid: Houdt rekening met mogelijke fouten (uitzonderingen, null-waarden) en handelt deze correct af.
- Documentatie: Indien nodig, bevat duidelijke opmerkingen of documentatie.
Voorbeeld van schone code die duplicatie vermijdt:
// Slecht: duplicatie van logica
fun processUser(user: User) {
if (user.isActive) {
println("Verwerking actieve gebruiker ${user.name}")
// Veel code...
} else {
println("Verwerking inactieve gebruiker ${user.name}")
// Dezelfde veel code...
}
}
// Goed: hergebruik van logica
fun processUser(user: User) {
println("Verwerking gebruiker ${user.name}") // Algemene logica
if (user.isActive) {
processActiveUser(user)
} else {
processInactiveUser(user)
}
// Veel code... // Algemene logica na if/else
}
fun processActiveUser(user: User) {
// Alleen specifieke logica voor actieve gebruikers
}
fun processInactiveUser(user: User) {
// Alleen specifieke logica voor inactieve gebruikers
}
Voorbeeld dat leesbaarheid en duidelijke namen demonstreert:
// Slecht
fun calc(a: Int, b: Int): Int {
return a + b
}
// Goed
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
return firstNumber + secondNumber
}