Мила обнови решението на 27.01.2016 13:38 (преди около 9 години)
+REPOSITORY = 'https://github.com/msruseva/ruby-retrospective-2015-1'
+
+# Неща, които научих
+#
+# Домашно 1:
+#1. Оставянето на една работа за последния момент не е добра практика. Независимо колко лесна ни се струва тя. :)
+#2. Операторът <=> в Ruby има интересна и доста полезна функционалност.
+#
+# Домашно 2:
+#3. Методът #drop прави кодът по-четим.
+#4. Важно е да се правят тестове, за всеки един метод.
+#5. Важно е да се именуват методите по начин, който подсказва тяхната функционалност.
+#
+# Домашно 3:
+#6. В конкретния случай, с проверката дали едно число е просто или е може би по-правилно да се отворим класа Integer, и да се дефинира
+# там, #отколкото да бъде класов метод на друг клас. Просто прави кодът по структуриран и не се налага да се бърка толкова по методите
+# в #Singleton класовете на даден обект.
+#7. Кодът трябва да бъде лесно четим, но това не винаги се случва с паралелното присвояване.
+#8. Идеята за създаване на временна променлива е по-скоро похват прилагащ се повече за езики като C++, отколкото като Ruby, затова трябва
+# да #се търсят друг вид решение.
+#9. Методът #partition има чудесна функционалност, която може да замени #each и създаването на масиви, в които да се вкарват елементи при
+# дадени проверки (отново похват по-скоро типичен на езиците от порядъка на C++).
+#10. Методът #take_while също може да бъде полезе+н вместо итериране с #each и извършването на разни проверки, които той прави вместо нас.
+#11. В Ruby има много методи, повечето от тях имат функционалностите, които търсим и е добра практика да се рови човек повече из
+# Enumerable, #както и из цялата документация на Ruby, за да не пренаписва човек код, който вече е бил написан и да използва
+# максимално #функционалността и плюсовете от езика.
+#
+# Домашно 4:
+#12. При структурирането на йерархия трябва да се внимава когато е уместно създаването на module и кога на клас, защото възнамерявах да
+# изнеса обща функционалност в модул, с цел да не използвам наследяване и стигнах до следното заключение: ако дадени методи се
+# изпозлзват #само в един клас, няма смисъл от извеждането му в модул, само за да не става един клас прекалено дълъг. Функцията на
+# модулите е полезна #в случай, че желаем да преизползваме код в няколко класа и благодарение на него можем да избегнем ненужно
+# унаследяване.
+#13. Важно е да се разбиват методите на по-малки методи (изнасянето на обща функционалност на няколко метода в друг), за да е по-четим
+# кодът #и за да няма Copy – Paste на код, което е лоша практика.
+#14. В Ruby има методи като #first и #last, които правят кода по-четим като могат да заместват [0] и [1], за достъп на първия и последния
+# елемент от масив с два елемента, или в моя случай да заместят #at(0) и #at(-1).
+#15. Извикването на super може да бъде изключително полезно в йерархичните структури, а и не само. Има доста функции.
+#16. Методите #product и #map, в комбинация, правят кода по-четим и по-лесен за писането, на мястото на два цикъла с #each.