Решение на Първа задача от Камен Канев
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 12 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
............ Finished in 0.02309 seconds 12 examples, 0 failures
История (6 версии и 3 коментара)
Камен обнови решението на 11.10.2014 13:02 (преди около 10 години)
Камен обнови решението на 11.10.2014 13:09 (преди около 10 години)
Здравей :)
Не сме го споменавали на лекции (все още), но когато дефинираш метод в друг, всъщност метода не става вътрешен за текущия.
def a
# код
end
def b
# код
end
и
def b
def a
# код
end
# код
end
са почти едно и също. Единствената разлика е, че във втория случай метода a
няма да бъде дефиниран, докато не извикаш b
. Но щом го направиш, a
ще стане "глобален".
Освен това:
- Това
type
не ми харесва. Името етип
, но стойността е накакво магическо число. Не става ясно веднага защо е и какво се очаква да съдържа. Можеш просто да подаваш първата стойност, вместо да я събираш с 1. - Можеш ли да измислиш по-добро име на параметъра
number
? Не е много описателно, а и по тази логика може да кръстиш всяка променливаnumber
,string
илиobject
. -
fibonacci_lucas
не е хубаво име на метод. Ако можеше да генерира 5 редици щеше ли да го кръстишfibonacci_lucas_редица3_редица4_редица5
? Знам, че измислянето на имена е трудно, но е и също толкова важно. :) - Имаш проблеми с интервалите. На запетаите, интервали се слагат само отдясно. Трябва да има и по един интервал около минусите.
-
if name == 'summed'
може да се махне, тъй като няма да тестваме с невалидни аргументи, пък и така или иначе това е последният израз (като else).
Мерси за съветите!Ще мисля имена преди лягане :D
Камен обнови решението на 13.10.2014 13:48 (преди около 10 години)
Камен обнови решението на 13.10.2014 14:19 (преди около 10 години)
Камен обнови решението на 13.10.2014 14:22 (преди около 10 години)
Остави поне един празен ред между двата метода за четимост. Кодът ти е доста сбит. Принципно е добра идея да се оставя и един празен ред преди редът с финалната върната стойност. Това ще рече празен ред между редове 3 и 4 и между 9 и 10.
Допълнително, не съм сигурен, че името на функцията fibonacci_formula
достатъчно ясно казва, че това е generic формула и че не изчислява точно числата на Фибуначи. И какво е това "term"? Нямаш ли предвид елемент, число? Защо "term"?