Камелия обнови решението на 30.12.2012 22:50 (преди около 12 години)
+REPOSITORY = 'https://github.com/n-ruby/ruby-retrospective-2'
+
+Двадесет(почти) неща, които научих.
+
+1. Езикът предлага много повече средства, отколкото знам. Преди да започна да пиша, чета.
+2. Спрях (или поне се опитвам да спра) да 'уча' на принципа 'проба-грешка', води до плачевни резултати. Това, че програмата 'минава', е крайно недостатъчен тест.
+3. Операторът ||=.
+4. В повечето случаи лесно четим код за сметка на малко повече памет или време е за предпочитане пред обратното. Какво е четим код се научава, когато вече имаш представа от езика - така че имам още за учене.
+5. Използвам инстанционните променливи не само в метода MyClass#initialize.
+6. Един метод трябва да върши точно едно нещо - това означава точно едно. Ако работата му е да пренасочва към други методи според подадените аргументи, това трябва да бъде написано четимо.
+7. my_enumerable.map(&:name) - в началото изобщо не ми беше ясно как работи това.
+8. Правилата за писане на код са препоръки, които важат в по-голямата част от случаите, но не във всичките. Ако ги прилагам, без да мисля, понякога се оказва, че творя големи глупости.
+9. Кодът е продукт, чийто първи потребител е създателят му. Методи, които улесняват разработката, са полезни, дори да не са необходими на следващите потребители.
+10. Разликата (и общото) между class и module.
+11. Какво е singleton class.
+12. Регулярни изрази.
+13. Интерполация на низове и регулярни изрази.
+14. Тернарният оператор и if-else не са еквивалентни.
+15. Тестовете са неразделна част от програмата.
+16. Version control системите са полезни не само когато по даден проект работи повече от един човек.
+17. Когато работя с регулярни изрази, мога да използвам позиционните променливи.