Подтвердить что ты не робот

Анализатор исходного кода Ruby (что-то вроде pylint)

Есть ли у Ruby какие-либо инструменты в строках pylint для анализа исходного кода ошибок и простых стандартов кодирования?

Было бы неплохо, если бы он мог быть интегрирован с cruisecontrolrb для непрерывной интеграции.

Или все пишут такие хорошие тесты, что им не нужны проверки исходного кода!

4b9b3361

Ответ 1

Я просмотрел кучу инструментов Ruby, доступных здесь.

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

большинство инструментов были упомянуты webmat, но если вы хотите получить больше информации, я подробно расскажу о примерах.

Я также настоятельно рекомендую использовать Metric-Fu, это дает вам возможность установки 3-х из более популярных инструментов для установки gem/plugin и построена с учетом интеграции cruisecontrolrb.

У создателя есть отличный пост, который поможет вам быстро и быстро запустить вас.

http://jakescruggs.blogspot.com/2008/04/dead-simple-rails-metrics-with-metricfu.html

В последнее время в инструментах Ruby было много активности, что, по моему мнению, является хорошим признаком растущего и созревающего языка.

Ответ 2

Проверьте их:

  • на Ruby Inside, статья, представляющая Towelie, Flay и Simian, все инструменты для поиска дублирования кода
    • Полотенце
    • flay
    • Simian (более общий инструмент, поддерживающий Ruby среди других языков)
  • reek: детектор запаха кода для Ruby
  • Roodi: проверяет стиль вашего Ruby-кода
  • flog: анализатор сложности кода
  • rcov: даст вам C0 (если я правильно помню) анализ покрытия кода. Но будьте осторожны. 100% -ый охват очень дорогостоящий и не означает идеальный код.
  • heckle: изменяет ваш код в тонких манерах и запускает ваш тестовый пакет, чтобы узнать, поймает ли он его. Жестокий: -)

Так как они все инструменты командной строки, все они могут быть интегрированы просто как задачи cc.rb. Просто выкрой свой навык регулярного выражения, чтобы выбрать важную часть вывода.

Я рекомендую вам сначала попробовать их вручную, чтобы посмотреть, хорошо ли они играют с вашей кодовой базой, и если вам нравится информация, которую они вам дают. Когда вы найдете несколько, которые принесут вам ценность, а затем потратьте время на их интеграцию в ваш cc.

Ответ 3

Недавно обновленный интересный инструмент - Инъектор с ориентированным ориентиром в Ruby - roodi для краткости. Это на v1.3.0, поэтому я предполагаю, что он довольно зрелый.

Я сам не пробовал, потому что мой код, конечно, уже не упрек (hah).

Что касается тестового покрытия (о, дорогая, я тоже не пробовал это) там rcov

Также (смотри, я определенно собираюсь попробовать некоторые из них сегодня. По крайней мере, хотя бы), вам, возможно, стоит взглянуть на flog and flay для другой проверки стиля и поиска кандидата в рефакторинг.

Ответ 4

Также есть встроенные предупреждения, которые вы можете включить с быстрой:

ruby -w

Или установить глобальную переменную $VERBOSE в true в любой точке.

Ответ 6

Я только что выпустил "Отлично", который реализует несколько проверок на Ruby-коде. Он объединяет roodi, reek и flog, а также добавляет некоторые специальные проверки Rails:

gem sources -a http://gems.github.com
sudo gem install simplabs-excellent

Может быть полезно...

Ответ 7

Rubocop - широко используемый статический анализатор кода.