Решение на Пета задача от Мартина Величкова

Обратно към всички решения

Към профила на Мартина Величкова

Код

REPOSITORY = 'https://github.com/mbvelichkova/ruby-retrospective-2.git'
# Двадесет неща, които научих.
#
# 1. Употребата на self не е задължителна, за да се обръщаш към instance променливи на даден клас.
# 2. По-добре е да се използват map и select вместо each. Кодът става по-четим и разбираем(стига да знаеш значението на map и select).
# 3. Също така има полезни методи като each_with_object, с които елегантно се обхождат масиви или хешове.
# 4. Мутирането не е добра практика, затова трябва да се използва само в краен случай.
# 5. Предпочита се да се ползват and и or вместо && и |, кодът става по-четим.
# 6. По-добре е да се изполва 2.upto(abs) вместо (2..self.abs).
# 7. Ruby има голям набор от стандартни методи, които не само улесняват писането на код, но и го правят по-четим.
# Пример за такива методи са none?, zero?, remander?, lines? и други.
# 8. Правилната идентация и спазването на конвенциите правят кода по-четим.
# 9. Класовете не трябва да зависят пряко от имплементацията на другите класове. Single Responsible Principle.
# 10. Извикването на map, select и т.н. с прости ламбди може да стане с &символ, което предизвиква изпълнението на съответната ламбда.
# 11. Важно е променливите да са наименувани с подходящи имена, такива че да разбираш лесно за какво служат.
# 12. Научих как да предефинирам в случая операцията обединение (т.е. че трябва да се предефинира == и да имплементирам hash метода),
# така че да я използвам за обекти от дефинирани от мен класове.
# 13. Използвах масив за инициализацията на проментливи (напр. a, b, c = array).
# 14. Ползването на case вместо if-elsif-else конструкцията прави кода по-четим.
# 15. Използването на изключения прави грешките по-лесни за намиране и разбиране.
# 16. При фукционалиния начин на дизайна на решението по-лесно се добавят операции.
# 17. Научих ,че(?<!pat) се използва за отрицателен look-behind в регулярните изрази.
# 18. Добре е константите с регулярни изрази да са изнесени в отделен модул, който се include-ва във всеки клас, в който се използват,
# вместо те да се дефинират за всеки клас
# 19. В класа след ^ се изброяват символите, които не трябва да се съдържат в израза, който се мачва.
# 20. Научих, че за да достъпиш именована група в регулярен израз като променлива се използва $~[:name]
#

История (1 версия и 0 коментара)

Мартина обнови решението на 30.12.2012 19:17 (преди над 11 години)

+REPOSITORY = 'https://github.com/mbvelichkova/ruby-retrospective-2.git'
+
+# Двадесет неща, които научих.
+#
+# 1. Употребата на self не е задължителна, за да се обръщаш към instance променливи на даден клас.
+# 2. По-добре е да се използват map и select вместо each. Кодът става по-четим и разбираем(стига да знаеш значението на map и select).
+# 3. Също така има полезни методи като each_with_object, с които елегантно се обхождат масиви или хешове.
+# 4. Мутирането не е добра практика, затова трябва да се използва само в краен случай.
+# 5. Предпочита се да се ползват and и or вместо && и |, кодът става по-четим.
+# 6. По-добре е да се изполва 2.upto(abs) вместо (2..self.abs).
+# 7. Ruby има голям набор от стандартни методи, които не само улесняват писането на код, но и го правят по-четим.
+# Пример за такива методи са none?, zero?, remander?, lines? и други.
+# 8. Правилната идентация и спазването на конвенциите правят кода по-четим.
+# 9. Класовете не трябва да зависят пряко от имплементацията на другите класове. Single Responsible Principle.
+# 10. Извикването на map, select и т.н. с прости ламбди може да стане с &символ, което предизвиква изпълнението на съответната ламбда.
+# 11. Важно е променливите да са наименувани с подходящи имена, такива че да разбираш лесно за какво служат.
+# 12. Научих как да предефинирам в случая операцията обединение (т.е. че трябва да се предефинира == и да имплементирам hash метода),
+# така че да я използвам за обекти от дефинирани от мен класове.
+# 13. Използвах масив за инициализацията на проментливи (напр. a, b, c = array).
+# 14. Ползването на case вместо if-elsif-else конструкцията прави кода по-четим.
+# 15. Използването на изключения прави грешките по-лесни за намиране и разбиране.
+# 16. При фукционалиния начин на дизайна на решението по-лесно се добавят операции.
+# 17. Научих ,че(?<!pat) се използва за отрицателен look-behind в регулярните изрази.
+# 18. Добре е константите с регулярни изрази да са изнесени в отделен модул, който се include-ва във всеки клас, в който се използват,
+# вместо те да се дефинират за всеки клас
+# 19. В класа след ^ се изброяват символите, които не трябва да се съдържат в израза, който се мачва.
+# 20. Научих, че за да достъпиш именована група в регулярен израз като променлива се използва $~[:name]
+#