Решение на Пета задача от Цветан Иванов

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

Към профила на Цветан Иванов

Резултати

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

Код

REPOSITORY = 'https://github.com/tvetan/ruby-retrospective-3'
# 1. Правилно е да се избягва употребата на return.
# 2. Препоръчва се да се ползва 1.upto(n) вместо (1..n)
# 3. В ruby се предпочита да се ползват and и or вместо съответните && и ||
# 4. Разбрах, че е по правилно да се ползват методите zero? и even? вместо да се прави проверка с числата.
# 5. Правилно е да не се пише self освен в някакви специални случаи.
# 6. С define_method може да се дефинират много еднотипни методи.
# 7. Научих, че е изключително важно да се слагат най-подходящите
# и описателни имена, които могат да се измислят.
# 8. В ruby е лоша практика да се ползва for.
# 9. Не е проблем да има по-голямо количество класове, всеки от които
# изпълнява точно една определена задача.
# 10. Запознах се с TDD и защо като цяло е хубаво да има тестове.
# 11. Запознах се с git.
# 12. Параметрите могат да се подават и без да се поставят скоби.
# 13. Не е добра практика да дефинираме метод извън модул или клас, защото
# влиза в private частта на Object.
# 14. Каквото и да правим винаги наследяваме Object.
# 15. Можем да подаваме блок като аргумент на функция - &block.
# 16. Научих, че могат да се правят синоними с alias.
# 17. Мога да използвам масив, за да намирам по-малкото или по-голямо от дадени числа.
# 18. Научих ползата от регулярните изрази и колко код ни спестяват.
# 19. Да не си правя задачите в последния момент, което пак направих :)
# 20. Операторите +, -, == могат да се извикват с public_send или send.

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

Цветан обнови решението на 22.01.2014 16:31 (преди около 10 години)

+REPOSITORY = 'https://github.com/tvetan/ruby-retrospective-3'
+
+# 1. Правилно е да се избягва употребата на return.
+# 2. Препоръчва се да се ползва 1.upto(n) вместо (1..n)
+# 3. В ruby се предпочита да се ползват and и or вместо съответните && и ||
+# 4. Разбрах, че е по правилно да се ползват методите zero? и even? вместо да се прави проверка с числата.
+# 5. Правилно е да не се пише self освен в някакви специални случаи.
+# 6. С define_method може да се дефинират много еднотипни методи.
+# 7. Научих, че е изключително важно да се слагат най-подходящите
+# и описателни имена, които могат да се измислят.
+# 8. В ruby е лоша практика да се ползва for.
+# 9. Не е проблем да има по-голямо количество класове, всеки от които
+# изпълнява точно една определена задача.
+# 10. Запознах се с TDD и защо като цяло е хубаво да има тестове.
+# 11. Запознах се с git.
+# 12. Параметрите могат да се подават и без да се поставят скоби.
+# 13. Не е добра практика да дефинираме метод извън модул или клас, защото
+# влиза в private частта на Object.
+# 14. Каквото и да правим винаги наследяваме Object.
+# 15. Можем да подаваме блок като аргумент на функция - &block.
+# 16. Научих, че могат да се правят синоними с alias.
+# 17. Мога да използвам масив, за да намирам по-малкото или по-голямо от дадени числа.
+# 18. Научих ползата от регулярните изрази и колко код ни спестяват.
+# 19. Да не си правя задачите в последния момент, което пак направих :)
+# 20. Операторите +, -, == могат да се извикват с public_send или send.

Виждам, че явно не си имал време да довършиш задачата, тъй като решението на четвърта задача липсва. Освен това, не си спазил някои skeptic ограничения.

  • По точка три бих казал, че в този курс ги предпочитаме, не е предпочитание в Ruby. Много хора ползват другия вариант.
  • По четири бих казал нещо сродно -- "по-правилно" не е съвсем правилно :) По-четимо -- да.
  • Относно 14 - да, освен ако не наследим от BasicObject :)
  • По 20 - да, защото не са оператори, а методи на даден клас, както всички останали такива :)

Другите неща, които си научил, са добри, ще ти дам утешителна бонус точка за тях и за труда, макар че наученото трябва да е достатъчна награда :)

P.S. Не оставяй интервал преди отварящата скоба тук: def eql? (other_line) (зад. 3).