Sobes.tech
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
}