Десета задача
- Краен срок:
- 27.01.2016 23:59
- Точки:
- 6
Срокът за предаване на решения е отминал
Ретроспекция, част 2
Това е втората ретроспективна задача и последното домашно за курса. Трябва да решите отново пета, шеста, седма и осма задача. Както и в първата част на ретроспекцията, целта е да постигнете кратки и ясни решения, които да включват всичко, което сте научили до момента. Прочетете условието на девета задача, за по-детайлно обяснение на целите и мотивацията на задачата.
Отново, това е много добър шанс да запълните някой пропуск, да затвърдите знание, или да пробвате друга гледна точка.
Форма на предаване
Форматът на предаване е същият като на предната задача, като и за тази е необходимо да напишете 20 неща, научени докато пишете или рефакторирате решенията си на пета, шеста, седма и осма задача.
Отново трябва да направите fork на нашето хранилище за втората част на ретроспекцията, да си клонирате копието с git clone ...
и да промените .rb
файловете за всяко от решенията. Напомняме, че първият ви commit трябва да бъде със старите ви решения във вида, в който сте ги предали в сайта за последен път. Ако не сте предали решение за дадена задача, оставяте файла на решението празен.
Дефиницията на стиловите ограничения е във файла skeptic.yml
. Проверката дали решенията ви минават тестовете и ограниченията става с:
$ bundle exec rake check
Може да проверите същото само за една конкретна задача така:
$ bundle exec rake tasks:06
В тази команда, 06
е номерът на задачата, която искате да проверите.
Научените уроци от рефакторинга на пета до осма задача се предават в сайта на курса, с добре познатия ви формуляр, в същия формат както при девета задача – константа REPOSITORY
и списък от научени неща в коментари. Например:
REPOSITORY = 'http://github.com/mitio/ruby-retrospective-2015-2'
# Двадесет неща, които научих.
#
# 1. Монадите в Haskell са много широка абстракция. Приложими са на много места,
# но това ги прави трудни за научаване. Любимият ми пример е Maybe монадата,
# в която верига от операции връща Nothing, ако връзка от веригата върне
# Nothing.
# 2. case клас (в Scala) е по-подходящ за промоция, от стандартен такъв.
# 3. Проверката за възраст може да се реализира по-добре с полиморфизъм, отколкото
# с case или if.
REPOSITORY
трябва да съдържа HTTP URL-а до вашия fork на хранилището за това второ ретроспективно домашно.
Съвети и бележки
Същите са като за първата част на ретроспекцията:
- Не променяйте други файлове в хранилището, освен вашите решения. Всички други промени ще бъдат игнорирани.
- Уверете се, че при предаване на решенито през формуляра на сайта, имате дефинирана въпросната константа, че стойността ѝ е низ и че не е коментирана.
- Не забравяйте да push-нете последните промени, които сте направили, в GitHub хранилището си. Промени, качени в GitHub след крайния срок на задачата няма да се зачитат.
Оценяване и други бележки
Останалото е идентично с описанието на първата част на ретроспекцията.