Open Dudzius opened 1 year ago
Atlikau funkcijos statinio kodo analizę, mano atsiliepimai būtų tokie:
Funkcija yra akivaizdžiai per didelė ir turi per daug atsakomybių, kai pagal funkcijos pavadinimą yra suprantamą, kad funkcija turi inicijuoti kortos išmetimą. Šią funkciją būtų galima išskaidyti į šias funkcijas:
Kintamųjų pavadinimai, pvz., playerLostFlag ir playerMoneyAmount, galėtų būti labiau suprantami. pvz., isPlayerLost ir playerMoney.
Klaidų tvarkymas: Kodas neapdoroja klaidų. Daroma prielaida, kad kaladėje visada yra kortų ir kad žaidėjo ranka bei rezultatas gali būti atnaujinami be jokių problemų. Svarbu įtraukti klaidų tvarkymą ir patvirtinimą, kad realaus pasaulio scenarijuose gali įvykti nesklandumų. (Nėra visiškai clean code principas, tačiau svarbus aspektas)
Kode yra keletas stebuklingų skaičių, pavyzdžiui, skaičius "2". Jei "2" reiškia laimėjimo sąlygai reikalingų kortų skaičių, geriau reiktų apibrėžti konstantą, pavyzdžiui, WIN_CONDITION_CARD_COUNT, turinčią prasmingą pavadinimą.
winsText. ir playAgainButton kodo dublikavimas, galbūt reikėtų taip pat išskirti į atskirą funkciją.
"Hardcodintos" "2" ir "21" reikšmės susijusios su žaidimo taisyklėmis. Jas reikėtų apsibrėžti kodo pradžioje, kad vėliau, esant poreikiui, jas būtų lengviau pakeisti.