Sobes.tech
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)
    }
}