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

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

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

Резултати

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

Код

REPOSITORY = 'https://github.com/georgi-karapetrov/ruby-retrospective-2016'
# Двадесет неща, които научих.
#
# 1. Използването на константи е по-добър стил от хвърчащи стойности
# 2. В Руби можем да присвояваме стойностии паралелно
# 3. Има красота в лаконичността и голям шанс за грешка в многословието
# 4. Регулярните изрази може и да са полезни, когато парсваме CL параметри
# 5. Splat операторът също
# 6. Блоковете улесняват много работата и пестят редове
# 7. Напълно е ОК да имаме влагане на клас в клас
# 8. Трябва да се пишат тестове
# 9. И пак за блоковете: ако използваш метод само веднъж е по-добре да го формулираш като блок
# 10. Употребата на ексепшъни внася подобрения по процеса на дебъгване
# 11. Вместо множество методи в доста случаи по-добрият вариант е един метод с keyword аргументи
# 12. Няма нужда от дълги имена на променливи и методи, стига контекстуално да става ясно какво правят
# 13. В контекста на Ruby immutable > mutable
# 14. Метапрограмирането е добре да се избягва

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

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 0df00ca Initial commit
From /tmp/ruby-retrospective-2016/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
https://github.com/georgi-karapetrov/ruby-retrospective-2016/compare/fdc639bda63...0df00ca35b8

'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
C

Offenses:

solution.rb:2:1: C: Use 2 (not 4) spaces for indentation.
    return degrees if scale == 'C'
^^^^
solution.rb:5:1: C: Use empty lines between method definitions.
def convert_to_fahrenheit(degrees, scale)
^^^
solution.rb:6:1: C: Use 2 (not 4) spaces for indentation.
    return degrees if scale == 'F'
^^^^
solution.rb:10:1: C: Use empty lines between method definitions.
def convert_to_kelvin(degrees, scale)
^^^
solution.rb:11:1: C: Use 2 (not 4) spaces for indentation.
    return degrees if scale == 'K'
^^^^
solution.rb:15:1: C: Use empty lines between method definitions.
def convert_between_temperature_units(degrees, from, to)
^^^
solution.rb:16:1: C: Use 2 (not 4) spaces for indentation.
    return degrees if from == to
^^^^
solution.rb:22:5: C: Use 2 spaces for indentation in a hash, relative to the start of the line where the left curly brace is.
    'water' => [0, 100],
    ^^^^^^^^^^^^^^^^^^^
solution.rb:31:1: C: Use 2 (not 4) spaces for indentation.
    convert_between_temperature_units(TEMPERATURES[substance].first, 'C', scale)
^^^^
solution.rb:33:1: C: Use empty lines between method definitions.
def boiling_point_of_substance(substance, scale)
^^^
solution.rb:34:1: C: Use 2 (not 4) spaces for indentation.
    convert_between_temperature_units(TEMPERATURES[substance].last, 'C', scale)
^^^^

1 file inspected, 11 offenses detected
F

Failures:

  1) ruby-retrospective-2016 covers the minimum requirements
     Failure/Error: system(command) or raise "Command failed for #{@solutions_repo}: #{command}"
     RuntimeError:
       Command failed for https://github.com/georgi-karapetrov/ruby-retrospective-2016: bundle exec rake check_all
     # /tmp/d20170211-11010-kcihre/spec.rb:82:in `execute'
     # /tmp/d20170211-11010-kcihre/spec.rb:75:in `block (3 levels) in solutions_pass_all_checks'
     # /tmp/d20170211-11010-kcihre/spec.rb:74:in `chdir'
     # /tmp/d20170211-11010-kcihre/spec.rb:74:in `block (2 levels) in solutions_pass_all_checks'
     # /tmp/d20170211-11010-kcihre/spec.rb:40:in `chdir'
     # /tmp/d20170211-11010-kcihre/spec.rb:40:in `block in solutions_pass_all_checks'
     # /tmp/d20170211-11010-kcihre/spec.rb:39:in `solutions_pass_all_checks'
     # /tmp/d20170211-11010-kcihre/spec.rb:19:in `ok?'
     # /tmp/d20170211-11010-kcihre/spec.rb:101:in `<top (required)>'

Finished in 0.00088 seconds
1 example, 1 failure

Failed examples:

rspec /tmp/d20170211-11010-kcihre/spec.rb:107 # ruby-retrospective-2016 covers the minimum requirements

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

Георги обнови решението на 16.01.2017 13:45 (преди над 7 години)

+REPOSITORY = 'https://github.com/georgi-karapetrov/ruby-retrospective-2016'
+
+# Двадесет неща, които научих.
+#
+# 1.
+# 2.
+# 3.

Георги обнови решението на 16.01.2017 16:47 (преди над 7 години)

REPOSITORY = 'https://github.com/georgi-karapetrov/ruby-retrospective-2016'
# Двадесет неща, които научих.
#
-# 1.
-# 2.
+# 1. Използването на константи е по-добър стил от хвърчащи стойности
-# 3.
+# 2. В Руби можем да присвояваме стойностии паралелно
+# 3. Има красота в лаконичността и голям шанс за грешка в многословието
+# 4. Регулярните изрази може и да са полезни, когато парсваме CL параметри
+# 5. Splat операторът също
+# 6. Блоковете улесняват много работата и пестят редове
+# 7. Напълно е ОК да имаме влагане на клас в клас
+# 8. Трябва да се пишат тестове
+# 9. И пак за блоковете: ако използваш метод само веднъж е по-добре да го формулираш като блок
+# 10. Употребата на ексепшъни внася подобрения по процеса на дебъгване

Георги обнови решението на 16.01.2017 16:54 (преди над 7 години)

REPOSITORY = 'https://github.com/georgi-karapetrov/ruby-retrospective-2016'
# Двадесет неща, които научих.
#
# 1. Използването на константи е по-добър стил от хвърчащи стойности
# 2. В Руби можем да присвояваме стойностии паралелно
# 3. Има красота в лаконичността и голям шанс за грешка в многословието
# 4. Регулярните изрази може и да са полезни, когато парсваме CL параметри
# 5. Splat операторът също
# 6. Блоковете улесняват много работата и пестят редове
# 7. Напълно е ОК да имаме влагане на клас в клас
# 8. Трябва да се пишат тестове
# 9. И пак за блоковете: ако използваш метод само веднъж е по-добре да го формулираш като блок
-# 10. Употребата на ексепшъни внася подобрения по процеса на дебъгване
+# 10. Употребата на ексепшъни внася подобрения по процеса на дебъгване
+# 11. Вместо множество методи в доста случаи по-добрият вариант е един метод с keyword аргументи
+# 12. Няма нужда от дълги имена на променливи и методи, стига контекстуално да става ясно какво правят
+# 13. В контекста на Ruby immutable > mutable
+# 14. Метапрограмирането е добре да се избягва