Решение на Седма задача - ретроспекция от Симеон Гергинов

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

Към профила на Симеон Гергинов

Резултати

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

Код

REPOSITORY = 'https://github.com/SimeonGerginov/ruby-retrospective-2016'
# Двадесет неща, които научих.
#
# 1.По-добре да се използва case конструкцията вместо if-else, защото е по-удобен когато имаме изброяване.
# 2.Когато имаме изброявания е добра практика when да се пише на един ред с кода вместо на 2 реда като имаме по-добра четимост.
# 3.По-удобно е ключовете да са стрингове в конкретния случай вместо символи, защото функцията приема стринг като аргумент.Иначе за ключове се ползват символи.
# 4.Изкарването на дадено нещо в променлива е добра практика, защото самото име на променливата изяснява още повече кода.
# 5.Добра практика е self да се задава на променлива, а не да се ползва директно в дадена функция.
# 6.Map е по-добре да се използва в случая отколкото еach.
# 7.По-добре е в задачата да се ползва тернарен оператор отколкото if/else.
# 8.Добре е обект да се клонира с clone и да се даде на променлива отколкото да се използва директно, защото иначе променя обекта, а не винаги това е целта.
# 9.Методите, които се използват само в тялото на класа да са private.
# 10.Разделяне на задачата на отделни класове вместо всичко да се държи в един единствен клас.
# 11.В конкретната задача е по-добре да се използва block.call вместо yield.
# 12.Използването на Regex понякога спестява доста писане, но трябва да се внимава кога се ползват, защото не винаги е ефективно.
# 13.Describe трябва да е описателно, за да се разбира кой метод описва.
# 14.Хубаво е да се ползва context за да се направят тестова по-организирани и удобни за преглеждане.
# 15.По-добре е да се ползва expect вместо should.
# 16.Тестовете трябва да са възможно най-прости и да отговарят за само едно нещо като така четенето и разбирането им се улеснява.
# 17.Метода << понякога седи естетически по-добре от push.
# 18.Създаване на помощни класове е добра практика, защото така се намалява обема на даден клас и кодът става по-разбираем.
# 19.Ако изтриването не работи коректно ще има проблем с id-тата а и оттам задачата няма да е правилна и може да се получи дублиране на id-та.
# 20.instance_variable_get е лош подход.

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

From https://github.com/fmi/ruby-retrospective-2016
 * branch            master     -> FETCH_HEAD
HEAD is now at a22cf37 Set rubocop version to 0.46.0 to fix obsolete cop errors
Cloning into 'submission'...
HEAD is now at a917983 Finished Refactoring the homeworks
From /tmp/ruby-retrospective-2016/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
https://github.com/SimeonGerginov/ruby-retrospective-2016/compare/1f710b00c26...a9179839fb8

'tasks/1/solution.rb' -> '/tmp/ruby-retrospective-2016/checker/tasks/1/solution.rb'
'tasks/2/solution.rb' -> '/tmp/ruby-retrospective-2016/checker/tasks/2/solution.rb'
'tasks/3/solution.rb' -> '/tmp/ruby-retrospective-2016/checker/tasks/3/solution.rb'
'tasks/4/solution.rb' -> '/tmp/ruby-retrospective-2016/checker/tasks/4/solution.rb'
'tasks/5/solution.rb' -> '/tmp/ruby-retrospective-2016/checker/tasks/5/solution.rb'
Inspecting 1 file
.

1 file inspected, no offenses detected
.................

Finished in 0.00464 seconds
17 examples, 0 failures
Inspecting 1 file
.

1 file inspected, no offenses detected
...............

Finished in 0.00755 seconds
15 examples, 0 failures
Inspecting 1 file
.

1 file inspected, no offenses detected

...............

Finished in 0.00777 seconds
15 examples, 0 failures
Inspecting 1 file
.

1 file inspected, no offenses detected
....................

Finished in 20.12 seconds
20 examples, 0 failures
Inspecting 1 file
.

1 file inspected, no offenses detected
.........................

Finished in 0.01771 seconds
25 examples, 0 failures
.

Finished in 0.00158 seconds
1 example, 0 failures

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

Симеон обнови решението на 15.01.2017 21:19 (преди над 7 години)

+REPOSITORY = 'https://github.com/SimeonGerginov/ruby-retrospective-2016'
+
+# Двадесет неща, които научих.
+#
+# 1.По-добре да се използва case конструкцията вместо if-else, защото е по-удобен когато имаме изброяване.
+# 2.Когато имаме изброявания е добра практика when да се пише на един ред с кода вместо на 2 реда като имаме по-добра четимост.
+# 3.По-удобно е ключовете да са стрингове в конкретния случай вместо символи, защото функцията приема стринг като аргумент.Иначе за ключове се ползват символи.
+# 4.Изкарването на дадено нещо в променлива е добра практика, защото самото име на променливата изяснява още повече кода.
+# 5.Добра практика е self да се задава на променлива, а не да се ползва директно в дадена функция.
+# 6.Map е по-добре да се използва в случая отколкото еach.
+# 7.По-добре е в задачата да се ползва тернарен оператор отколкото if/else.
+# 8.Добре е обект да се клонира с clone и да се даде на променлива отколкото да се използва директно, защото иначе променя обекта, а не винаги това е целта.
+# 9.Методите, които се използват само в тялото на класа да са private.
+# 10.Разделяне на задачата на отделни класове вместо всичко да се държи в един единствен клас.
+# 11.В конкретната задача е по-добре да се използва block.call вместо yield.
+# 12.Използването на Regex понякога спестява доста писане, но трябва да се внимава кога се ползват, защото не винаги е ефективно.
+# 13.Describe трябва да е описателно, за да се разбира кой метод описва.
+# 14.Хубаво е да се ползва context за да се направят тестова по-организирани и удобни за преглеждане.
+# 15.По-добре е да се ползва expect вместо should.
+# 16.Тестовете трябва да са възможно най-прости и да отговарят за само едно нещо като така четенето и разбирането им се улеснява.
+# 17.Метода << понякога седи естетически по-добре от push.
+# 18.Създаване на помощни класове е добра практика, защото така се намалява обема на даден клас и кодът става по-разбираем.
+# 19.Ако изтриването не работи коректно ще има проблем с id-тата а и оттам задачата няма да е правилна и може да се получи дублиране на id-та.
+# 20.instance_variable_get е лош подход.