Марио обнови решението на 22.01.2014 17:26 (преди почти 11 години)
+REPOSITORY = 'https://github.com/hahcho/ruby-retrospective-3'
+
+# Двадесет неща, които научих.
+# 1. Използването на upto пред .. , подобрява четимоста на кода.
+# 2. Използването на предикати пред обикновенни сравнения също.
+# 3. map, select и т.н. могат да се chain-ват с други енумератори при нужда от
+# допълнителна информация свързана с колекцията.
+# 4. each_with_object удобен начин да спестим кофти конструкция от типа
+# reduce({}) ... и напълни хеша с информация.
+# 5. Hash има богат набор от конструктори, удовлетворяващи доста случей.
+# 6. Удобен начин да подаваме аргументите си е чрез разпъване на масиви,
+# също така удобен начин за прехвърляне на дани като наредени н-торки.
+# 7. Struct e удобен начин да спестим малко boilerplate code.
+# 8. Struct e Enumerable, лоша идея да се използва при обекти извършващи
+# някакъв вид прокси дейност.
+# 9. Добра практика е константите да се "замразяват" с цел лесно откриване на
+# бъгове свързани с тях.
+# 10.Няма смисъл да се разширява употребата на обекта повече от предвиденото.
+# Пример - излишно имплементиране на <=> оператор с цел наличието на повече
+# функционалност от Enumerable module при липса на адекватно сравнение за
+# обекта.
+# 11.Използването на operator [] върху self e изчистен начин да се взимат
+# член-дани от обектите посредством символ.
+# 12.Често няма смисъл от допълнителни променливи.
+# 13.Предпочетане на public_send пред send
+# 14.Еднотипни присвояване имаме възможност да извършваме на един ред.
+# 15.Използване на alias за създаване на синоними
+# 16.Мета - програмирането е интересно, но носи много лоши и трудни
+# бъгове.
+# 17.Научих за наличието на Object#tap.
+# 18.