Middle
Qu'est-ce qu'un code de qualité pour vous?
sobes.tech IA
Réponse de l'IA
Un code de qualité pour moi possède les caractéristiques suivantes :
- Lisibilité : Facile à comprendre pour d'autres développeurs (et pour soi-même après six mois).
- Maintenabilité : Les modifications et corrections d'erreurs se font rapidement et en toute sécurité.
- Testabilité : Le code est divisé en modules faciles à isoler et à tester.
- Propreté : Absence de duplication (
DRY), noms clairs pour les variables et fonctions, respect du style de code. - Efficacité : Utilisation optimale des ressources (processeur, mémoire) pour la tâche donnée.
- Fiabilité : Prend en compte les erreurs possibles (exceptions, valeurs nulles) et les gère correctement.
- Documentation : Si nécessaire, contient des commentaires clairs ou une documentation.
Exemple de code propre évitant la duplication :
// Mauvais : duplication de logique
fun processUser(user: User) {
if (user.isActive) {
println("Traitement de l'utilisateur actif ${user.name}")
// Beaucoup de code...
} else {
println("Traitement de l'utilisateur inactif ${user.name}")
// Le même beaucoup de code...
}
}
// Bon : extraction de la logique répétée
fun processUser(user: User) {
println("Traitement de l'utilisateur ${user.name}") // Logique commune
if (user.isActive) {
processActiveUser(user)
} else {
processInactiveUser(user)
}
// Beaucoup de code... // Logique commune après le if/else
}
fun processActiveUser(user: User) {
// Logique spécifique aux actifs
}
fun processInactiveUser(user: User) {
// Logique spécifique aux inactifs
}
Exemple illustrant la lisibilité et des noms clairs :
// Mauvais
fun calc(a: Int, b: Int): Int {
return a + b
}
// Bon
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
return firstNumber + secondNumber
}