Антонио обнови решението на 21.01.2014 01:58 (преди почти 11 години)
+REPOSITORY = 'https://github.com/antonionikolov/ruby-retrospective-3'
+
+# Двадесет неща, които научих.
+#
+# 1. Именоването на класовете, методите и променливите е много
+# важно нещо.
+# 2. Понякога използването на рекурсия е по–удачен вариант за
+# решаването на даден проблем.
+# 3. Използвай reduce не inject - по-добър стил.
+# 4. Пиши възможно най-простия код - без излишни неща.
+# 5. Пиши събран и компактен код, когато това не пречи на четимостта му.
+# 6. По често използвай готовите Ruby методи (split, map, reduce...).
+# 7. Стреми се да навързваш методите.
+# 8. Hash-а в Ruby има различни конструкции. Стреми се да използваш
+# най-подходящата.
+# 9. Count, length и size са синоними. Изполвай най-удачния за конкретната
+# ситуация.
+# 10.Когато е възможно използвай кратките форми на map, reduce, filter...
+# 11.Използвай по конкретни Ruby методи, когато са подходящи (each_slice,
+# flat_map, each_with_index...).
+# 12.Променливи могат да се инициализират с масив (a, b = [1, 2]).
+# 13.Когато използваш each, map, reduce... избери подходящо име за
+# променливата/е, а не x или y (в някой случай са подходящи).
+# 14.Понякога е подходящо да се използват функции от по-висок ред.
+# 15.Пиши и използвай тестове. Полезни са и много ускоряват работата.
+# 16.Използвай << не += за образуването на string. += създава нов обект.
+# 17.Винаги използвай по-добрия (по-точния) алгоритъм, дори да е по-сложен.
+# 18.За да дефинираш hash на даден обект използвай hash-а на array от
+# обектите от които е създаден.
+# 19.Стреми се да спазваш конкретните стилови конвенции. Кода е по-разбираем и
+# помага за работата в екип.
+# 20.Преди да използваш дадено нещо се увери, че знаеш как работи.
Нещата, които си научил, са окей. Малко бележки:
- Струва ми се, че имаш твърде много дублирана логика в кода на четвърта задача дори и след рефакторинга ти.
- Казаното в т. 18 не е задължително, просто е лесен вариант това да стане. Разбира се, лесен != най-оптимален (бърз). Имай го предвид.