Sobes.tech
Middle

Co dla ciebie jest wysokiej jakości kodem?

sobes.tech AI

Odpowiedź od AI

Dla mnie kod wysokiej jakości posiada następujące cechy:

  • Czytelność: Łatwy do zrozumienia dla innych programistów (i dla siebie po pół roku).
  • Łatwość utrzymania: Wprowadzanie zmian i naprawa błędów odbywa się szybko i bezpiecznie.
  • Testowalność: Kod podzielony na moduły, które łatwo izolować i testować.
  • Czystość: Brak duplikacji (DRY), czytelne nazwy zmiennych i funkcji, przestrzeganie stylu kodowania.
  • Wydajność: Optymalne wykorzystanie zasobów (procesor, pamięć) do zadania.
  • Niezawodność: Uwzględnia możliwe błędy (wyjątki, wartości null) i obsługuje je poprawnie.
  • Dokumentacja: W razie potrzeby zawiera jasne komentarze lub dokumentację.

Przykład czystego kodu, unikającego duplikacji:

// Zły: duplikacja logiki
fun processUser(user: User) {
    if (user.isActive) {
        println("Przetwarzanie aktywnego użytkownika ${user.name}")
        // Dużo kodu...
    } else {
        println("Przetwarzanie nieaktywnego użytkownika ${user.name}")
        // Ten sam duży kod...
    }
}

// Dobry: wyodrębnienie powtarzającej się logiki
fun processUser(user: User) {
    println("Przetwarzanie użytkownika ${user.name}") // Logika ogólna
    if (user.isActive) {
        processActiveUser(user)
    } else {
        processInactiveUser(user)
    }
    // Dużo kodu... // Logika ogólna po if/else
}

fun processActiveUser(user: User) {
    // Tylko specyficzna logika dla aktywnych
}

fun processInactiveUser(user: User) {
    // Tylko specyficzna logika dla nieaktywnych
}

Przykład demonstrujący czytelność i jasne nazwy:

// Zły
fun calc(a: Int, b: Int): Int {
    return a + b
}

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