Инструмент за намиране на неизползвани конструкции в Ruby код?

Може ли някой да ме насочи към инструмент за откриване на неизползван код, обекти, методи, параметри и т.н. в Ruby код?

Видях nitpick, но изглежда не ми осигурява покритието, което искам. Проверих също laser и reek, но изглежда, че съответните им скъпоценни камъни имат проблеми, които им пречат да работят.

Мислех, че в един момент двоичният файл на Ruby има режим, който ще открие неизползвани конструкции, но изглежда не мога да го намеря.


person xuinkrbin.    schedule 27.09.2012    source източник


Отговори (3)


JetBrains RubyMine http://www.jetbrains.com/ruby/quickstart/index.html

person Favourite Onwuemene    schedule 27.09.2012
comment
За съжаление RubyMine изглежда улавя само неизползвани локални променливи. - person xuinkrbin.; 27.09.2012

Може да помогне, ако имахме малко повече контекст за това как искате да „откривате неизползван код“ – този код обхваща ли вашите тестове, които разглеждате? В противен случай как ще разберете от изпълнение на изпълнение дали сте изпълнили всички случаи на употреба? Или търсите статистическа "топлинна карта" на покритието във времето за напр. причини за ефективността?

Във всеки случай, за покритие на кода по време на тестване използвам SimpleCov - той използва вградения < на Ruby 1.9 библиотека href="http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html" rel="nofollow">Coverage с малко хубава захар отгоре .

person Matt    schedule 27.09.2012
comment

Проверете дали сте на последната итерация на цикъла. Ако сте, анимирайте дисплея, ако не, не го анимирайте.

Това каза, че е гадно от гледна точка на потребителя. Вероятно трябва да помислите за по-приятен начин за представяне, като показване на списък или анимиране между всеки дисплей, когато се извика addPassesViewControllerDidFinish:.

- person xuinkrbin.; 27.09.2012

Можете също да използвате тестер за мутации, който променя вашия код. В случай, че тестерът за мутации може да изтрие конструкция, без вашите тестове да забележат. Намерихте неизползвана конструкция.

Знам два тестера за мутации за ruby:

Отказ от отговорност, аз съм авторът на mutant.

В зависимост от вашата настройка, вашата ruby ​​версия, оформление на спецификации, тестова рамка heckle и/или мутант могат да свършат работата вместо вас.

Тук можете да видите мутант в действие: http://ascii.io/a/1707

person mbj    schedule 10.12.2012