Middle
Siz uchun sifatli kod nima?
sobes.tech AI
AIdan javob
Menga sifatli kod quyidagi xususiyatlarga ega:
- O'qilishi: Boshqa dasturchilar uchun (va o'zim uchun olti oy o'tgach) oson tushunarli.
- Qo'llab-quvvatlash: O'zgarishlar va xatoliklarni tuzatish tez va xavfsiz amalga oshiriladi.
- Test qilish: Kod modullarga bo'lingan bo'lib, ularni ajratib va test qilish oson.
- Tozalik: Takrorlanish yo'q (
DRY), o'zgaruvchilar va funksiyalar uchun aniq nomlar, kod uslubiga rioya qilish. - Samaradorlik: Resurslarni (protsessor, xotira) optimal ishlatish.
- Ishonchlilik: Xatoliklarni (istisnolar, null qiymatlar) hisobga oladi va to'g'ri ishlov beradi.
- Hujjatlash: Zarur bo'lsa, aniq izohlar yoki hujjatlarni o'z ichiga oladi.
Takrorlanishni oldini oladigan toza kod misoli:
// Yomon: mantiq takrorlanishi
fun processUser(user: User) {
if (user.isActive) {
println("Faol foydalanuvchini qayta ishlash ${user.name}")
// Ko'p kod...
} else {
println("Faol bo'lmagan foydalanuvchini qayta ishlash ${user.name}")
// Xuddi shunday ko'p kod...
}
}
// Yaxshi: takrorlanuvchi mantiqni ajratish
fun processUser(user: User) {
println("Foydalanuvchini qayta ishlash ${user.name}") // Umumiy mantiq
if (user.isActive) {
processActiveUser(user)
} else {
processInactiveUser(user)
}
// Ko'p kod... // if/else dan keyingi umumiy mantiq
}
fun processActiveUser(user: User) {
// Faol foydalanuvchilar uchun faqat maxsus mantiq
}
fun processInactiveUser(user: User) {
// Faol bo'lmagan foydalanuvchilar uchun faqat maxsus mantiq
}
O'qilishi va aniq nomlar bilan misol:
// Yomon
fun calc(a: Int, b: Int): Int {
return a + b
}
// Yaxshi
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
return firstNumber + secondNumber
}