Решение на Пета задача от Давид Петров
Резултати
- 5 точки от тестове
- 1 бонус точка
- 6 точки общо
- 0 успешни тест(а)
- 0 неуспешни тест(а)
Код
История (2 версии и 1 коментар)
Давид обнови решението на 22.01.2014 17:29 (преди почти 11 години)
Нямаш проблеми с английските думи, проверих.
Имам някои забележки около именуването на неща в кода ти, както и някои особено поставени празни редове (или липсата на такива). Например, името array
е лошо в TodoList.parse
. В същия метод има и други проблеми (предпочитай Array#<<
пред Array#push
). Самият метод ползва anti-pattern "each + accumulator", вместо да ползва map
и да се напише така:
TodoList.new text.lines.map { |line| Task.new line.split('|') }
По трета задача - констатите START_HTML
и END_HTML
не им е мястото в Graphics
- по-добре да стоят в Renderers::Html
и да се казват HEADER
и FOOTER
. Представяне на canvas като хеш ми се струва по-добра идея. Имаш дребни проблеми с идентацията (ред 60, например, както и draw_rectangle
).
В четвърта задача, не виждам проблем да беше ползвал новия (Ruby 1.9) синтаксис за хешове за дефиниция на JUMPS
. Не ми харесва много името Helper
. С какво помага? Виж решенията на колегите си, как те са именували подобни класове. Примерно, EvaluationContext
или нещо от сорта ми се струва малко по-добро, макар че мисля, че може и още по-добро име да се измисли.
По коментарите ти имам следните бележки:
- В точка 7 не бих казал, че двойните кавички са по-добрият вариант. Просто са различни. Даже аз предпочитам единични, защото в тях има по-малко специални символи и "ъпгрейдвам" низ към двойни кавички само ако ми се наложи.
Нещата, които си описал като научени, ми харесват. Надявам се и ти да си доволен от процеса :)