2008-11-13 7 views
16

Имеет ли Ruby какие-либо инструменты в строках pylint для анализа исходного кода ошибок и простых стандартов кодирования?Анализатор исходного кода Ruby (что-то вроде pylint)

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

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

ответ

16

я рассмотрел кучу инструментов 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

Там было много активности в инструментах Руби в последнее время я думаю, это хороший знак растущей и созревания языка.

+0

Я также хорошо рассмотрю reek - http://silkandspinach.net/2008/09/23/reek-a-code-smells-detector-for-ruby/, предложенный webmat. Не могли бы вы включить его в свой ответ для других? – 2008-11-17 16:39:51

5

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

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

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

Кроме того (смотри, я определенно собираюсь попробовать некоторые из них сегодня. Один, по крайней мере), вы могли бы заботиться, чтобы посмотрите на flog and flay для еще одной проверки стиля и поиска кандидата на рефакторинг.

+0

И не забудьте проверить свои тесты! Ресурсы в этом ответе будут действительно взбивать ваш проект в форму ... Особенно с выпуском Flay в эти выходные; впечатляющий материал. – mwilliams 2008-11-13 12:37:38

10

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

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

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

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

+0

Отличный ответ спасибо, реэк выглядит очень интересно, извините, я выбрал другой ответ, сообщение в блоге, на которое он ссылался, было очень тщательным. – 2008-11-17 16:41:58

2

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

ruby -w 

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

0

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^