2011-01-28 19 views
7

Czy ktoś wie o komercyjnej komercyjnej paczce lub OSS, która może wykryć, które linie kodu zostały wykonane, czy nie?Wykrywanie martwego kodu w rubinie

Szukamy wokół kilku narzędzi, które mogą pomóc nam wykryć martwego kodu w środowisku produkcyjnym, bieganie Ruby on Rails 1.8.7

-Daniel

Odpowiedz

3

W Ruby 1.9.2 można łatwo zmierzyć zasięg bez znaczącego wpływu na wydajność. W wersji 1.8.7 spowolniłoby to jednak zbyt wiele. Zamiast tego można uzyskać przegląd tego, co jest używane przy użyciu perftools.rb (z opcją CPUPROFILE_METHODS = 1). O ile mi wiadomo, nie ma to praktycznie żadnego wpływu na wydajność aplikacji i pozwoli ci zobaczyć, jakie metody zostały wywołane, chociaż nie uzyskałbyś żadnej informacji o różnych ścieżkach kodu (ifs i pętle i inne).

+0

Podoba mi się ta odpowiedź, ale musimy ją ulepszyć. Kolejny powód aktualizacji – Daniel

1

Kategoria Ruby Toolbox w kategorii Code Metrics wymienia programy do obsługi kodu, takie jak rcov, ale obejmuje tylko testowany kod.

+0

W rzeczywistości bardzo łatwo jest użyć rcov do pomiaru zasięgu kodu produkcyjnego http://relevance.github.com/rcov/classes/Rcov/CodeCoverageAnalyzer.html. Jedynym problemem jest to, że spowalnia aplikację 4 razy, więc nie byłoby to praktyczne. – psyho

+0

rcov nie tylko obejmuje testowany kod – astropanic

+0

@bashman: Co masz na myśli? –