• Halstead korsatkichlarining kamchiliklari
  • Halstead ko'rsatkichlarining afzalliklari




    Download 68,49 Kb.
    bet5/6
    Sana17.01.2024
    Hajmi68,49 Kb.
    #139359
    1   2   3   4   5   6
    Bog'liq
    Javlonbek Jumaboyev
    MK 90

    Halstead ko'rsatkichlarining afzalliklari


    • Halstead Metrics har qanday dasturlash tiliga tegishli.

    • Halstead ko'rsatkichlarini hisoblash oson.

    • U xatolarning yuzaga kelish tezligini oldindan aytib berishi mumkin.

    • Bu dasturlarning umumiy sifatini o'lchashni ta'minlaydi.

    • Bu loyihani rejalashtirish va hisobot berishda yordam beradi.

    • U talab qilinadigan parvarishlash harakatini taxmin qilishi mumkin.

    • Bu dasturlash strukturasini to'liq tahlil qilishni talab qilmaydi.

    Halstead ko'rsatkichlarining kamchiliklari


    • Bu butun kodni tahlil qilishni talab qiladi, bu katta dasturlarda amalga oshirilmasligi mumkin.

    • Rivojlanish harakatlari yoki narxini baholash uchun bashoratli model sifatida mos kelmasligi mumkin.

    • Ob'ektga yo'naltirilgan dasturlash yoki funktsional dasturlash kabi ba'zi dasturlash paradigmalari uchun aniq natijalarni bermasligi mumkin.

    • Ko'rsatkichlarga dasturchining kodlash uslubi va dasturlash amaliyoti ta'sir qilishi mumkin, bu esa dasturning haqiqiy murakkabligini aks ettirmasligi mumkin.

    • Ko'rsatkichlar modullilik, qayta foydalanish yoki texnik xizmat ko'rsatish kabi kodning sifatini hisobga olmaydi.

    Topshiriq



    1. Talabalar ism-familiyasi, yoshi va ballaridan iborat jadval yarating va talabalarni ism-familiyasini alfavit bo‘yicha tartibga keltiring.

    #include


    #include
    #include
    #include

    struct Talaba {


    std::string ism_familiya;
    int yosh;
    double ballar;
    };

    bool alifboBo'yichaTartibla(const Talaba &a, const Talaba &b) {


    return a.ism_familiya < b.ism_familiya;
    }

    int main() {


    // Talabalarni saqlash uchun vektor
    std::vector talabalar;

    // Talabalar jadvalini to'ldirish


    talabalar.push_back({"Alijon Akbarov", 20, 85.5});
    talabalar.push_back({"Dilnoza Otajonova", 22, 90.0});
    talabalar.push_back({"Bekzod Jumayev", 21, 78.3});
    talabalar.push_back({"Zarnigor Abdullayeva", 19, 95.2});

    // Talabalarni ism-familiyasi bo'yicha tartiblash


    std::sort(talabalar.begin(), talabalar.end(), alifboBo'yichaTartibla);

    // Jadvalni chiqarish


    std::cout << std::setw(25) << "Ism-Familiya" << std::setw(10) << "Yosh" << std::setw(10) << "Ballar" << std::endl;
    std::cout << std::setfill('-') << std::setw(45) << "" << std::setfill(' ') << std::endl;

    for (const Talaba &talaba : talabalar) {


    std::cout << std::setw(25) << talaba.ism_familiya << std::setw(10) << talaba.yosh << std::setw(10) << talaba.ballar << std::endl;
    }

    return 0;


    }

    Dasturning takrorlanmas operatorlari (operatorlar lug‘ati) sonini hisoblab chiqamiz. Bu holda ajratuvchi belgilar, dastur(yoki funktsiya) nomlari va operatsiya belgilarini ham qo‘shib hisoblaymiz:



    Download 68,49 Kb.
    1   2   3   4   5   6




    Download 68,49 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Halstead ko'rsatkichlarining afzalliklari

    Download 68,49 Kb.