Пламен обнови решението на 25.12.2012 19:32 (преди около 12 години)
+REPOSITORY = 'https://github.com/plamentotev/ruby-retrospective-2'
+
+# Първа задача
+# ==================
+#
+# 1. За решението на group_values от първа задача използването на result[value] ||= []
+# е по-удачно от Hash.new { |hash, key| hash[key] = [] }, защото така върнатият Hash
+# има стандарнтното поведение на Hash, тоест за несъществуващ ключ върща nil, а не празен масив.
+#
+# 2. Използването на abs, навсякъде където се среща числото, във prime_divisors
+# е по-четливо от return abs.prime_divisors if self < 0
+#
+# 3. Използването на #divisors при намирането на всички прости числа по-скоро не е небходимо и
+# и не увеличава четливостта, тако в същото време вуличава (ненужно) времето за изпълнение.
+#
+# Втора задача
+# ==================
+#
+# 4. Присвояването на отделене ред, на параметрите подадени на конструктура, е по-четливо
+# от присвояването на един ред.
+#
+# 5. Блок може да се предава като параметър на коструктор.
+#
+# 6. Може да се използва Array#| вместо Array#+ и Array#uniq
+#
+# 7. Може да се използва Enumerable#each_slice за да се вземат като параметри
+# няколко реда, разделени с String#lines
+#
+# Трета задача
+# ==================
+#
+# 8. Коструктурите се наследяват и така инициалнизацията на операторите и функциите лесно може
+# да премести в съответният калс за унарна и бинарна операция.
+#
+# 9. class.new може да бъде използвано за съдздаването инстанция на клас от родителя
+# без да се знае конкретният наследник
+#
+# 10. Четоди, които имат сходна фукнционалност като #exact и #simplify
+# е най-добре да въдат изведени в родителя и тези наследници, които имат различно поведение
+# просто да променят или разширяват поведението на родителя
+#
+# 11. По-четливо е, ако се използват готови обекти като Number#one и Number#zero,
+# отколкото да се зъздават всеки път
+#
+# Четвърта задача
+# ==================
+#
+# 12. По-четливо е регулярните изрази да се изнесат като константи на модул.
+#
+# 13. #{ИМЕ_НА_ПРОМЕНЛИВА} може да се използва в регулярни изрази за да
+# взмъкне един регулярен израз по средата на друг регулярен израз
+# подобрявайки преизпозваемосста на изразите и четимостта на кода.
+#
+# 14. Използване на backtracking за определяне на коя част от телефона
+# е международен код и коя е част от телефона
+#