Христина обнови решението на 09.10.2015 20:33 (преди над 9 години)
▸ Покажи разликитеПривет :)
Няколко неща могат да се подобрят по решението ти:
Индентация. Виж отново изискванията за стил.
White space. Оставяй празно място около оператори като
+
,-
и т.н. Може да използваш празни редове за да си разделяш смислово функциите на части. Оставяй празни редове и между дефинициите на функциите.Погледни как се ползва
case
конструкцията, може да направи първата функция по-приятна за четене.Нямаш нужда от
return
statement накрая на фунциите. В руби последния оценен израз от тялото на функцията е нейна върната стойност.
- Опитай се да не преизползваш променливи по този начин. Когато чета
convert_to_bgn
, виждам "Ако валутата е евро, цената се променя на цената * 1.9557". Цената всъщност не се променя, просто имаш друга нейна версия, която е гарантирано в лева - Хвърли едно око на style guide-a. Имаш дребни нарушения (space-ове около оператори, нов ред между дефиниция на методи, една индентация навътре в тялото на
if
, експлицитниreturn
-и) - Нужни ли са проверките в
compare_prices
, след катоconvert_to_bgn
се оправя и с левове? - Всички тези проверки и присвоявания в
convert_to_bgn
изглеждат леко вербозно. Можеш да ги DRY-неш като използвашcase
("switch"-ът в Ruby) или hash-ове