Решение на Десета задача от Веселин Русинов

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

Към профила на Веселин Русинов

Резултати

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

Код

REPOSITORY = 'https://github.com/wireless-ghost/ruby-retrospective-2015-2'
# Двадесет неща, които научих.
#
# 1. Научих какво е Sha1 и как мога да го използвам в руби.
# 2. Използванет на _ като име на параметър.
# 3. Научих, че не е нужно всичко да се случва в един метод в един клас, а е по-добре да бъде разбито на няколко по-малки, които да вършат същата работа, но по-четимо.
# 4. При математически изрази за реда на изпълняване на операциите има значение дали присъстват скоби или не.
# 5. Научих как изглежда драконовият фрактал.
# 6. Научих се да използвам gsub.
# 7. Научих, че от 0..7 има 8, а не 7 елемента.
# 8. Научих как се използват exeption-и в Ruby.
# 9. Вместо Array.new и Hash.new е по-добре да се използва [] и {}.
# 10. Научих се да използвам ASCII символи в Ruby.
# 11. Научих, че flatten е доста полезна функция.
# 12. Следването на SOLID принципа прави кода по-разбираем, а и дава по-малко пространство за грешки и бъгове.
# 13. В case може да се използва ',' за изброяване на стойности.
# 14. В case може да се използва Range.
# 15. Паралелното присвояване в някои случаи спестява писането на повече код, но за сметка на това той става по-труден за четене.
# 16. Научих как работи reduce.
# 17. За да можем да итерираме върху наш клас, той трябва да include-ва Enumеrable и да предефинира each.
# 18. Науих се да използвам lambda фунцкии.
# 19. Четенето на чужд код и чужди решения обогатява знанията и разбирането на фунцкионалността на дадения език.
# 20. Използванетo на unless е по-правилно в повечето случаи от колкото използването на if not.

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

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 3d7f792 Style changes
From /tmp/ruby-retrospective-2015-2/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
https://github.com/wireless-ghost/ruby-retrospective-2015-2/compare/7d3afe646ee...3d7f792581a

‘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.02598 seconds
30 examples, 0 failures
OK
..............

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

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

Finished in 0.02817 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.00157 seconds
1 example, 0 failures

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

Веселин обнови решението на 27.01.2016 20:48 (преди над 9 години)

+REPOSITORY = 'https://github.com/wireless-ghost/ruby-retrospective-2015-2'
+
+# Двадесет неща, които научих.
+#
+# 1. Научих какво е Sha1 и как мога да го използвам в руби.
+# 2. Използванет на _ като име на параметър.
+# 3. Научих, че не е нужно всичко да се случва в един метод в един клас, а е по-добре да бъде разбито на няколко по-малки, които да вършат същата работа, но по-четимо.
+# 4. При математически изрази за реда на изпълняване на операциите има значение дали присъстват скоби или не.
+# 5. Научих как изглежда драконовият фрактал.
+# 6. Научих се да използвам gsub.
+# 7. Научих, че от 0..7 има 8, а не 7 елемента.
+# 8. Научих как се използват exeption-и в Ruby.
+# 9. Вместо Array.new и Hash.new е по-добре да се използва [] и {}.
+# 10. Научих се да използвам ASCII символи в Ruby.
+# 11. Научих, че flatten е доста полезна функция.
+# 12. Следването на SOLID принципа прави кода по-разбираем, а и дава по-малко пространство за грешки и бъгове.
+# 13. В case може да се използва ',' за изброяване на стойности.
+# 14. В case може да се използва Range.
+# 15. Паралелното присвояване в някои случаи спестява писането на повече код, но за сметка на това той става по-труден за четене.
+# 16. Научих как работи reduce.
+# 17. За да можем да итерираме върху наш клас, той трябва да include-ва Enumеrable и да предефинира each.
+# 18. Науих се да използвам lambda фунцкии.
+# 19. Четенето на чужд код и чужди решения обогатява знанията и разбирането на фунцкионалността на дадения език.
+# 20. Използванетo на unless е по-правилно в повечето случаи от колкото използването на if not.

Добри поуки. Няколко стилистични неща:

  • Не използвай "#@something", ползвай "#{@something}", видях че си го поправял на места, не знам защо.
  • a,b,c = [1,2,3], няма нужда от a,b,c = *[1,2,3]

Не използвай Exception-и за проверки на условия - Float(x) rescue false.