Решение на Първа задача от Евгений Бояджиев
Към профила на Евгений Бояджиев
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 12 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
............ Finished in 0.02159 seconds 12 examples, 0 failures
История (4 версии и 3 коментара)
Евгений обнови решението на 13.10.2014 01:31 (преди около 10 години)
Евгений обнови решението на 13.10.2014 01:37 (преди около 10 години)
Здравей (:
Един бърз feedback
Много приятно решение! Погледнал си Style Guide-a, което е похвално. Има само една дреболия, която е добре да оправиш и няколко насоки към още по-готино решение.
Забележки
- Няма нужда да ползваш
return
(лош стил е), ако изразът е последният оценен. Напримерreturn
-а вsummed
(и не само там) е напълно излишен.
Насоки
(помисли как може да ги ползваш, за да направиш решението си по елегантно)
Пробвай в
series
да ползвашcase
(switch
-ът в Ruby), понеже проверяваш спрямо само една променлива.-
Следното е валиден Ruby код (не е важно за примера, но приеми, че
eat_spaghetti
иhungry?
са дефинирани). Обърни внимание наif
конструкцията:eat_spaghetti if hungry?
Че това ще работи ли? И по-добре ли ще се чете?
def fibonacci(element_index) if element_index == 1 or element_index == 2 then 1 elsif element_index > 1 fibonacci(element_index - 1) + fibonacci(element_index - 2) end end
Разбирам, че в случая element_index ще се оцени като 1 (и това вероятно ще е последната оценка) и може би дори ще го върне, все едно има return, но не е ли по-добре да се застраховаме и да сложим return в случай, че после решим да добавим някой ред след if-а?
Месри за забележките.
Евгений обнови решението на 15.10.2014 08:45 (преди около 10 години)
Не намерих хубаво място за ползване на if modifier-а. Така че можеш ли да подскажеш къде точно би било удачно да се ползва?
Например може да се ползва така: return fibonacci(element_index - 1) + fibonacci(element_index - 2) if element_index > 2 return 1 if element_index <= 2
Но така губим else-а и следователно можем да пропуснем равното в "element_index <= 2" и да си счупим кода.