Израчунајте укупно са попустом у ЈаваСцрипт-у
У коду који сте навели, постоји неколико проблема који се могу сматрати „неправилним“ или неоптималним:ӕӕ1. Недостаје израз „ретурн“: функција „цалцулате_тотал()“ не враћа ништа, што значи да ће подразумевано вратити „недефинисано“. Требало би да додате израз `ретурн` на крају функције да одредите коју вредност враћа.ӕ2. Неискоришћене променљиве: Променљивој „попуст“ је додељена вредност, али се она никада не користи. Требало би да уклоните неискоришћени код да бисте избегли забуну и учинили код читљивијим.ӕ3. Магични бројеви: Код користи чврсто кодиране вредности као што су `10` и `50` без икаквог објашњења или документације. Било би боље користити именоване константе или променљиве да би код био читљивији и лакши за одржавање.ӕ4. Сложеност: Код има више угнежђених `иф` изјава, што може отежати разумевање и отклањање грешака. Можете да поједноставите код консолидацијом неких услова у једну наредбу `иф` или коришћењем наредбе `свитцх`.ӕ5. Недостатак обраде грешака: Код не обрађује грешке ако корисник унесе неважећу вредност за проценат попуста. Требало би да додате руковање грешкама да бисте обезбедили да функција елегантно рукује неочекиваним уносом.ӕӕЕво ажуриране верзије кода која се бави овим проблемима:ӕ```јавасцриптӕфунцтион Цалцулате_тотал(цена, попуст) {ӕ цонст ДИСЦОУНТ_ПЕРЦЕНТАГЕ = 0,1; // дефинише константу за проценат попустаӕӕ иф (дисцоунт === ундефинед || дисцоунт < 0 || дисцоунт > 100) {ӕ тхров нев Еррор('Инвалид дисцоунт валуе');ӕ }ӕӕ цонст тотал = цена * (1 - (ДИСЦОУНТ_ПЕРЦЕНТАГЕ * попуст));ӕӕ поврат укупно;ӕ}ӕ```



