Sobes.tech
Middle

Ką laikote kokybišku kodu?

sobes.tech AI

Atsakymas iš AI

Aukštos kokybės kodas man pasižymi šiais bruožais:

  • Skaitomumas: Jį lengva suprasti kitiems kūrėjams (ir sau po šešių mėnesių).
  • Palaikymas: Pakeitimai ir klaidų taisymas vyksta greitai ir saugiai.
  • Testuojamumas: Kodas suskirstytas į modulius, kuriuos lengva izoliuoti ir testuoti.
  • Švarumas: Be dubliavimosi (DRY), aiškūs kintamųjų ir funkcijų pavadinimai, laikomasi kodo stiliaus.
  • Efektyvumas: Optimalus išteklių (procesoriaus, atminties) naudojimas užduočiai.
  • Patikimumas: Atsižvelgiama į galimas klaidas (išimtys, null reikšmės) ir tinkamai jas tvarkoma.
  • Dokumentacija: Reikalingu atveju aiškūs komentarai arba dokumentacija.

Pavyzdys švaraus kodo, vengiančio dubliavimosi:

// Blogai: dubliuojama logika
fun processUser(user: User) {
    if (user.isActive) {
        println("Processing active user ${user.name}")
        // Daug kodo...
    } else {
        println("Processing inactive user ${user.name}")
        // Tas pats daug kodo...
    }
}

// Gerai: išskiriama pasikartojanti logika
fun processUser(user: User) {
    println("Processing user ${user.name}") // Bendra logika
    if (user.isActive) {
        processActiveUser(user)
    } else {
        processInactiveUser(user)
    }
    // Daug kodo... // Bendra logika po if/else
}

fun processActiveUser(user: User) {
    // Tik specifinė logika aktyviems
}

fun processInactiveUser(user: User) {
    // Tik specifinė logika neaktyviems
}

Kitas pavyzdys, rodantis skaitomumą ir aiškius pavadinimus:

// Blogai
fun calc(a: Int, b: Int): Int {
    return a + b
}

// Gerai
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
    return firstNumber + secondNumber
}