Я пробовал два разных инструмента: rubocop и Cane. В ходе теста я обнаружил, что rubocop дает почти вдвое больше предупреждений, чем тростник (а rubocop сообщает обо всем, что сообщает Cane). Итак, я рекомендую rubocop.
rubocop
Рубокоп
Проверка стиля кода Ruby на основе Стиль Ruby
Руководство .
Установка
Вы можете установить его как драгоценный камень:
gem install rubocop
(Приведенное выше может потребовать префикс команды с sudo
в зависимости от настроек.)
Использование
rubocop используется при запуске команды с тем же именем из командной строки. Если вы предоставляете файлы в качестве аргументов, rubocop проверяет эти файлы. Если вы указываете каталоги в качестве аргументов, rubocop рекурсивно проверяет файлы Ruby в каталогах, то есть в указанных каталогах и во всех их подкаталогах. Если вы не предоставите аргумента, он рекурсивно проверяет рабочий каталог.
Вот пример. Учитывая следующий файл
say="I am not in style"
puts(say)
['cow','cat','cake'].each{|i| print i+' '}
robucop сообщает следующее:
$ rubocop ~/test/rubocop.rb
== /home/nn/test/rubocop.rb ==
C: 1: Missing encoding comment.
C: 1: Surrounding space missing for operator '='.
C: 4: Surrounding space missing for operator '+'.
C: 4: Surrounding space missing for '{'.
C: 4: Space missing to the left of '}'.
C: 4: Space missing after comma.
C: 4: Space missing after comma.
C: 1: Prefer single-quoted strings when you don't need string interpolation or special symbols.
1 files inspected, 8 offences detected
Обратите внимание, что rubocop может выводить предупреждения, которые Emacs может анализировать с помощью опции -e
.
Cane
Cane - это инструмент для проверки стиля кода. Он может быть интегрирован с Rake .
Установка
Вы можете установить его как драгоценный камень:
gem install cane
(Приведенное выше может потребовать префикс команды с sudo
в зависимости от настроек.)
* * Использование тысячи сорок-девять
Чтобы использовать его, запустите cane
в каталогах или файлах, которые вы хотите проверить.