Middle
Noem specifieke criteria voor codekwaliteit.
sobes.tech AI
Antwoord van AI
- Leesbaarheid: Het is gemakkelijk te begrijpen wat de code doet. Betekenisvolle namen worden gebruikt, formatteringsafspraken worden nageleefd.
- Onderhoudbaarheid: De code is gemakkelijk te wijzigen en fouten te corrigeren zonder nieuwe wijzigingen aan te brengen. Modulaire structuur, lage koppeling.
- Testbaarheid: De code kan gemakkelijk worden afgedekt met automatische tests. Functies en klassen hebben duidelijk gedefinieerde verantwoordelijkheden.
- Prestaties: De code gebruikt bronnen (processor, geheugen, batterij) efficiënt. Er zijn geen "knelpunten".
- Betrouwbaarheid: De code werkt voorspelbaar en is bestand tegen fouten. Afhandeling van uitzonderingen, validatie van invoergegevens.
- Herbruikbaarheid: Componenten van de code kunnen worden gebruikt in andere delen van de applicatie of in andere projecten. Naleving van SOLID-principes.
- Naleving van coderingsstandaarden: De code voldoet aan de in het team of de industrie geaccepteerde standaarden.
- Documentatie: De code (of API) is adequaat beschreven, indien nodig.
Voorbeelden:
// Leesbare code:
public void processUserData(User user) {
if (user.isActive()) {
// Verwerking van actieve gebruiker
} else {
// Verwerking van inactieve gebruiker
}
}
// Minder leesbare code:
public void procUsr(User u) {
if (u.getStat()) { // Wat is getStat()?
// code
} else {
// code
}
}
// Testbare code:
class UserRepository(private val apiService: ApiService) {
fun getUserById(userId: String): User? {
return apiService.fetchUser(userId) // Afhankelijkheid is gemakkelijk te mocken voor tests
}
}
// Minder testbare code (directe creatie van afhankelijkheid binnen de functie):
class UserRepository {
fun getUserById(userId: String): User? {
val apiService = ApiService() // Moeilijk te mocken
return apiService.fetchUser(userId)
}
}