Професионална програма
Loading...
+ Нов въпрос
SiKoh avatar SiKoh 0 Точки

Нужда от мнение относно качеството на следния код

Здравейте на всички и благодаря за отделеното време!

Аз съм начинаещ програмист и моля за мнение и помощ.

 Тове е условието на задачата ....

----------------------------------------------------------------------

1.Изготвяне на проекти

Напишете функция, която изчислява колко часове ще са необходими на един архитект, за да изготви проектите на няколко строителни обекта. Изготвянето на един проект отнема три часа.

Вход

Функцията получава 2 аргумента:

  1. Името на архитекта - текст

  2. Брой на проектите - цяло число в интервала [0… 100]

Изход

На конзолата се отпечатва:

  • "The architect {името на архитекта} will need {необходими часове} hours to complete {брой на проектите} project/s."

--------------------------------------------------------------------------------------------

Това е моят код , който работи 

function neededWorkingHours(architectName, numberProjects){
  
let neededTime = (Number(numberProjects) * 3)
  
console.log (`The architect ${architectName} will need ${neededTime} hours to complete ${numberProjects} project/s.`)
}

neededWorkingHours("Victor", "15")

 

НО .... Junge казва, "твоя код не е верен, научи се да програмираш по-добре"  0/100

-------------------------------------------------------------------------------------

след което аз написах .....

 

function neededWorkingHours(input){
  
let architectName = input[0]
  
let numberProjects = Number(input[1])
  
let neededTime = (Number(numberProjects) * 3)
  
console.log (`The architect ${architectName} will need ${neededTime} hours to complete ${numberProjects} project/s.`)}

neededWorkingHours(["Victor", "15"])

 

И Judge вика " Браво, много добра работа, научила си си урока" 100/100

---------------------------------------------------------------------------------

Защо не смятам, че Judge е прав/а?!

1. По-дълъг код;

2. Според мен няма нужда от масив(array) в този случай;

3. Ако не сложиш масив, когато извикаш функцията neededWorkingHours("Victor", "15") ще ти даде само първата буква от Victor и NaN за числата.

"The architect V will need NaN hours to complete NaN project/s."

4. Според мен във вторият случай, кодът е подложен на по-голям риск от bugs.

----------------------------------------------------------------------------------------------

Аз лично смятам, че Judge трябва да проверява само крайният резултат, защото има много различни начини да напишеш код за един и същи проблем. 

------------------------------------------------------------------------------

 

Ще се радвам да видя вашите мнения!

 

 

Тагове:
0
Programming Basics 27/07/2021 18:57:24
icowwww avatar icowwww 1420 Точки

Трябва да се съобразяваме с judge. Как да реши сам дали да подава на функцията ти масив или 2 променливи?

Ако те притеснява, че е по-дълго вкарай в твоето решение квадратни скоби на параметрите и ще работи:

function neededWorkingHours([architectName, numberProjects]){
  
let neededTime = (Number(numberProjects) * 3)
  
console.log (`The architect ${architectName} will need ${neededTime} hours to complete ${numberProjects} project/s.`)
}

Това колко е дълго си зависи от теб. Хубаво е да разделяш кода на малки парчета с цел четимост, но все пак това също ще мине:

function neededWorkingHours([architectName, numberProjects]) {
    console.log(`The architect ${architectName} will need ${numberProjects * 3} hours to complete ${numberProjects} project/s.`)
}

 

0
27/07/2021 21:22:33
SiKoh avatar SiKoh 0 Точки

icowwww, Благодаря Ви за отговора!

" ([architectName, numberProjects]"    това е много полезна информация!

 

 

 

0
eric956 avatar eric956 1 Точки

Pleased to see your question as I think I have the same question, I am also confused and in need of light on this same question. Need help. indigocard

0
05/08/2021 07:27:19