Анализатор исходного кода Ruby (что-то вроде pylint)
-
08-07-2019 - |
Вопрос
Есть ли у Ruby какие-либо инструменты, подобные пиллинт для анализа исходного кода на наличие ошибок и простых стандартов кодирования?
Было бы неплохо, если бы его можно было интегрировать с cruisecontrolrb круизный контроль для непрерывной интеграции.
Или все пишут такие хорошие тесты, что им не нужны средства проверки исходного кода!
Решение
Я просмотрел несколько инструментов Ruby, доступных здесь
http://devver.wordpress.com/2008/10 / 03 / рубин-инструменты-облава /
большинство инструментов было упомянуто вебматом, но если вам нужна дополнительная информация, я приведу довольно подробные примеры.
Я также настоятельно рекомендую использовать Metric-Fu, так как он дает вам возможность установить три наиболее популярных инструмента на основе gem / plugin и построен с учетом интеграции с cruisecontrolrb.
Создатель имеет отличный пост, который поможет вам быстро приступить к работе.
http: //jakescruggs.blogspot. ком / 2008/04 / DEAD-простых рельсы-метрика-с-metricfu.html
В последнее время в инструментах Ruby было много активности, что, на мой взгляд, является хорошим признаком растущего и зрелого языка.
Другие советы
Посмотри на это:
- на Рубине Внутри, статья о Полотенчике, Флае и Обезьяне, все инструменты для поиска дублирования кода
- Полотенчик
- содрать кожу
- Обезьяноподобный (более общий инструмент, поддерживающий Ruby среди других языков)
- вонючий:детектор запаха кода для Ruby
- Руди:проверяет стиль вашего кода Ruby
- выпороть:анализатор сложности кода
- rcov:даст вам C0 (если я правильно помню) анализ покрытия кода.Но все же будь осторожен.100% покрытие обходится очень дорого и не означает идеального кода.
- хекл:тонко изменяет ваш код и запускает ваш набор тестов, чтобы посмотреть, улавливает ли он его.Жестокий :-)
Поскольку все они являются инструментами командной строки, все они могут быть интегрированы просто как задачи cc.rb.Просто используйте свой навык регулярного выражения, чтобы выбрать важную часть результата.
Я рекомендую вам сначала опробовать их вручную, чтобы увидеть, хорошо ли они сочетаются с вашей кодовой базой и нравится ли вам информация, которую они вам предоставляют.Как только вы найдете несколько, которые принесут вам пользу, потратьте время на их интеграцию в свой cc.
Один недавно обновленный интересный инструмент - это объектно-ориентированный инферометр Ruby - для краткости - roodi. Это на v1.3.0, так что я предполагаю, что это довольно зрелый.
Я сам не пробовал, потому что мой код, конечно, уже безупречен (ха).
Что касается тестового покрытия (о, дорогой, я тоже не пробовал), есть rcov р>
Кроме того (посмотрите, я определенно собираюсь попробовать некоторые из них сегодня. По крайней мере, один), вы можете взглянуть на flog and flay для другой проверки стиля и поиска кандидатов на рефакторинг.
Есть также встроенные предупреждения, которые можно быстро включить:
ruby -w
Или задайте для глобальной переменной $ VERBOSE значение true в любой точке.
Показатели кода на веб-сайте ruby.
Rubocop - широко используемый статический анализатор кода.
Я только что выпустил Отлично, в котором реализовано несколько проверок кода Ruby. Он объединяет roodi, reek и flog, а также добавляет некоторые специфичные для Rails проверки:
gem sources -a http://gems.github.com
sudo gem install simplabs-excellent
Может быть полезно ...