Sobes.tech
Middle+

На шта обраћаш пажњу када радиш преглед кода?

sobes.tech АИ

Одговор од АИ

  • Usklađenost sa stilom kodiranja projekta
  • Čitljivost i razumljivost koda
  • Nedostatak dupliranja koda (DRY)
  • Ispravno korišćenje arhitektonskih obrazaca i principa dizajna (SOLID)
  • Obrada grešaka i graničnih slučajeva
  • Nedostatak curenja memorije (snažni ciklički referentni ciklusi, objekti van upravljanja)
  • Korišćenje odgovarajućih struktura podataka i algoritama za rešavanje zadatka
  • Postojanje komentara i njihova aktuelnost
  • Postojanje i pokrivenost jediničnih testova
  • Optimizacija performansi (ako je primenjivo)
  • Atomarnost i čitljivost commitova
  • Usklađenost implementacije sa zadatkom i zahtevima
// Primer provere odsustva curenja memorije
class Parent {
    var child: Child?
}

class Child {
    weak var parent: Parent? // Korišćenje weak za izbegavanje snažnih cikličnih referenci
}
// Primer provere DRY
func computeSum(_ a: Int, _ b: Int) -> Int {
    // Opšta logika
    return a + b
}

func processNumbers(_ x: Int, _ y: Int) {
    let result = computeSum(x, y)
    // Dodatna obrada
    print(result)
}

func handleValues(_ p: Int, _ q: Int) {
    let result = computeSum(p, q) // Ponovna upotreba computeSum
    // Dodatna obrada
    print(result * 2)
}
Aspekt Šta proveravam
Čitljivost Imena promenljivih, funkcija, klasa; uvlačenje
Ispravnost Logika, obrada grešaka, granični slučajevi
Performanse Petlje, složeni računi, rad sa kolekcijama
Testiranje Postojanje i kvalitet testova
Arhitektura/Dizajn Usklađenost sa obrazcima i principima