Sobes.tech
Middle

Co považujete za kvalitní kód?

sobes.tech AI

Odpověď od AI

Pro mě má kvalitní kód následující vlastnosti:

  • Čitelnost: Je snadno pochopitelný pro jiné vývojáře (a pro sebe za půl roku).
  • Udržovatelnost: Změny a opravy chyb jsou prováděny rychle a bezpečně.
  • Testovatelnost: Kód je rozdělen do modulů, které lze snadno izolovat a testovat.
  • Čistota: Bez duplicit (DRY), jasné názvy proměnných a funkcí, dodržování stylu kódu.
  • Efektivita: Optimální využití zdrojů (procesor, paměť) pro úkol.
  • Spolehlivost: Zohledňuje možné chyby (výjimky, null hodnoty) a správně je zpracovává.
  • Dokumentace: Pokud je potřeba, obsahuje jasné komentáře nebo dokumentaci.

Příklad čistého kódu, který se vyhýbá duplicitám:

// Špatně: duplicitní logika
fun processUser(user: User) {
    if (user.isActive) {
        println("Zpracování aktivního uživatele ${user.name}")
        // Hodně kódu...
    } else {
        println("Zpracování neaktivního uživatele ${user.name}")
        // Stejný hodně kódu...
    }
}

// Dobře: extrahování opakující se logiky
fun processUser(user: User) {
    println("Zpracování uživatele ${user.name}") // Obecná logika
    if (user.isActive) {
        processActiveUser(user)
    } else {
        processInactiveUser(user)
    }
    // Hodně kódu... // Obecná logika po if/else
}

fun processActiveUser(user: User) {
    // Pouze specifická logika pro aktivní
}

fun processInactiveUser(user: User) {
    // Pouze specifická logika pro neaktivní
}

Příklad, který demonstruje čitelnost a jasná jména:

// Špatně
fun calc(a: Int, b: Int): Int {
    return a + b
}

// Dobře
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
    return firstNumber + secondNumber
}