Решение на Десета задача от Десислава Цветкова

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

Към профила на Десислава Цветкова

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 1 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'http://github.com/6desislava6/ruby-retrospective-2015-2'
# Двадесет неща, които научих.
#
# 1. Сблъсках се с %-нотацията за стрингове в Руби.
# 2. Научих, че е много по-уместно да използвам join, отколкото reduce, за да съединявам стрингове.
# 3. S (SOLID) за Single responsibility - особено за петата задача, тъй като е по-обемна, тази практика се оказа ключова.
# 4. YAGNI - отново в петата задача бях направила доста ненужни неща (касаещи главно Result класа). В последствие ги махнах, тъй като не допринасяха с нищо, а затрудняваха решението на задачата.
# 5. Първото ми решение на шестата задача определено беше duck typing! Грешка, която оправих.
# 6. Научих, че е по-удобно private да стои над методите, а не отдолу да ги изреждам чрез символи. (така кодът става много по-лесен за ориентиране).
# 7. Разбрах, че е по-добра практика да пиша по следния начин:
# module TurtleGraphics
# class Position
# вместо class TurtleGraphics::Position, заради начина по който се търсят константите.
# 8. Вместо да умножавам с 1.0, за да обърна цяло число в число с плаваща точка, да използвам метода to_f.
# 9. Научих как да използвам Array.new за двумерен масив.
# 10. Припомних си, че всички инстанционни променливи са nil по подразбиране.
# 11. Видях какво е драконов фрактал ^_^.
# 12. Научих се как да обслужвам грешки и да raise-вам такива, каквито биха ми служили по-добре.
# 13. Разбрах доста неща за регулярните изрази в контекста (и извън) на Руби.
# 14. Използвах често instance_eval, научих какво е DSL и разбрах неговата важност и приложимост.
# 15. Осъзнах колко са важни ограниченията за брой редове в метод, брой методи и пр. - стимулираха ме да пиша по-"умно".
# 16. Научих, че е важно да си пиша тестове за задачите, за да оценя коректността на решението си.
# 17. "Не оставяй днешната работа за утре"!, а колко по-рано предадени, толкова по-голям шанс за коментар към задачата!
# 18. Осъзнах разликата между not и !, or и ||, and и && относно приоритета в Руби.
# 19. Научих доста неща за метапрограмирането, за singleton класовете, наследяването, class методите, инстанционните методи, как кое и къде се съхраняват.
# 20. Разбрах коя е Sandy Metz, някои от нейните принципи - примерно този засягащ броя аргументи на функция, което беше и често ограничение в задачите.

Лог от изпълнението

From https://github.com/fmi/ruby-retrospective-2015-2
 * branch            master     -> FETCH_HEAD
HEAD is now at 512294b Modify a test in task 8 to not include empty cells
Cloning into 'submission'...
HEAD is now at 8b364c3 eighth task
From /tmp/ruby-retrospective-2015-2/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
http://github.com/6desislava6/ruby-retrospective-2015-2/compare/512294b6dde...8b364c36581

‘solutions/08.rb’ -> ‘/tmp/ruby-retrospective-2015-2/checker/solutions/08.rb’
‘solutions/05.rb’ -> ‘/tmp/ruby-retrospective-2015-2/checker/solutions/05.rb’
‘solutions/07.rb’ -> ‘/tmp/ruby-retrospective-2015-2/checker/solutions/07.rb’
‘solutions/06.rb’ -> ‘/tmp/ruby-retrospective-2015-2/checker/solutions/06.rb’
OK
..............................

Finished in 0.02712 seconds
30 examples, 0 failures
OK
..............

Finished in 0.00964 seconds
14 examples, 0 failures
OK
...............................

Finished in 0.01145 seconds
31 examples, 0 failures
OK
........................................

Finished in 0.02309 seconds
40 examples, 0 failures
From https://github.com/fmi/ruby-homework
 * branch            master     -> FETCH_HEAD
HEAD is now at 9dd040c Modify a test in task 8 to not include empty cells
.

Finished in 0.00154 seconds
1 example, 0 failures

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

Десислава обнови решението на 26.01.2016 14:45 (преди почти 9 години)

+REPOSITORY = 'http://github.com/6desislava6/ruby-retrospective-2015-2'
+
+# Двадесет неща, които научих.
+#
+# 1. Сблъсках се с %-нотацията за стрингове в Руби.
+# 2. Научих, че е много по-уместно да използвам join, отколкото reduce, за да съединявам стрингове.
+# 3. S (SOLID) за Single responsibility - особено за петата задача, тъй като е по-обемна, тази практика се оказа ключова.
+# 4. YAGNI - отново в петата задача бях направила доста ненужни неща (касаещи главно Result класа). В последствие ги махнах, тъй като не допринасяха с нищо, а затрудняваха решението на задачата.
+# 5. Първото ми решение на шестата задача определено беше duck typing! Грешка, която оправих.
+# 6. Научих, че е по-удобно private да стои над методите, а не отдолу да ги изреждам чрез символи. (така кодът става много по-лесен за ориентиране).
+# 7. Разбрах, че е по-добра практика да пиша по следния начин:
+# module TurtleGraphics
+# class Position
+# вместо class TurtleGraphics::Position, заради начина по който се търсят константите.
+# 8. Вместо да умножавам с 1.0, за да обърна цяло число в число с плаваща точка, да използвам метода to_f.
+# 9. Научих как да използвам Array.new за двумерен масив.
+# 10. Припомних си, че всички инстанционни променливи са nil по подразбиране.
+# 11. Видях какво е драконов фрактал ^_^.
+# 12. Научих се как да обслужвам грешки и да raise-вам такива, каквито биха ми служили по-добре.
+# 13. Разбрах доста неща за регулярните изрази в контекста (и извън) на Руби.
+# 14. Използвах често instance_eval, научих какво е DSL и разбрах неговата важност и приложимост.
+# 15. Осъзнах колко са важни ограниченията за брой редове в метод, брой методи и пр. - стимулираха ме да пиша по-"умно".
+# 16. Научих, че е важно да си пиша тестове за задачите, за да оценя коректността на решението си.
+# 17. "Не оставяй днешната работа за утре"!, а колко по-рано предадени, толкова по-голям шанс за коментар към задачата!
+# 18. Осъзнах разликата между not и !, or и ||, and и && относно приоритета в Руби.
+# 19. Научих доста неща за метапрограмирането, за singleton класовете, наследяването, class методите, инстанционните методи, как кое и къде се съхраняват.
+# 20. Разбрах коя е Sandy Metz, някои от нейните принципи - примерно този засягащ броя аргументи на функция, което беше и често ограничение в задачите.