Middle
Меъёриҳои сифатии коди мушаххасро номбар кунед.
sobes.tech AI
Ҷавоб аз AI
- Оқишлилик: Коднинг нима қиляптиғини осон тушуниш мумкин. Маъноли номлар қўлланилади, форматлаш қоидаларига риоя қилинади.
- Тўғрилаш: Кодни ўзгартириш ва хатоларни тўғрилаш осон, янгича ўзгартишлар кертилмайди. Модулли тузилма, паст боғлиқлик.
- Тестлаш: Код автоматик тестлар билан осон қамраб олинади. Функциялар ва синфлар аниқ масъулиятларга эга.
- Ишлаш самарадорлиги: Код ресурслардан (процессор, хотира, аккумулятор) самарали фойдаланади. "Чуқур жойлар" йўқ.
- Ишончлилик: Код олдиндан айтилганча ишлайди ва хатоларга қарши турли. Исключенияларни бошқариш, кириш маълумотларини текшириш.
- Қайта ишлатиш: Код компонентлари бошқа қисмларда ёки бошқа лойиҳаларда қўлланиши мумкин. SOLID принципларига риоя.
- Стандартларга мослиги: Код жамоа ёки саноатда қабул қилинган стандартларга мос келади.
- Ҳужжатлаш: Код (ёки API) етарли даражада тасвирланган, агар зарур бўлса.
Масаланлар:
// Оқилона код:
public void processUserData(User user) {
if (user.isActive()) {
// Фаол фойдаланувчи учун ишлаш
} else {
// Фаолиятсиз фойдаланувчи учун ишлаш
}
}
// Камроқ оқилона код:
public void procUsr(User u) {
if (u.getStat()) { // getStat() нима?
// код
} else {
// код
}
}
// Тест қилинадиган код:
class UserRepository(private val apiService: ApiService) {
fun getUserById(userId: String): User? {
return apiService.fetchUser(userId) // Мухим бўлган боғлиқлик тест учун осон mock қилинади
}
}
// Камроқ тест қилинадиган код (функцияда тўғридан-тўғри боғлиқлик яратиш):
class UserRepository {
fun getUserById(userId: String): User? {
val apiService = ApiService() // Моклаш қийин
return apiService.fetchUser(userId)
}
}