2015-04-14 20 views
6

Projemizde oldukça unutulmuş bazı sınıflar vardı.Ruby on Rails uygulamasında hangi sınıfların kullanılmadığını bulmak mümkün mü?

Bu sınıflar başkaları tarafından değiştirildi ancak bunları silmeyi unuttuk. Bir Ruby {on Rails,} uygulamasında hangi sınıfların kullanılmadığını keşfetmek için bazı otomatik yol/araç var mı?

Teşekkürler!

+9

Bu, Ruby'nin çok dinamik olduğu için otomasyonla yapılması zor; sınıflar, sınıf adı, yer, sembol, ayın evresi (tam anlamıyla), vb. temel alınarak yüklenebilir. İyi kod kapsamınız yoksa, hiç kullanılmadıklarını veya örneklenmediklerini görmek bile onları sorunlu olabilir. testlerinde. –

+0

Uygulama bol miktarda trafik alıyorsa, şüpheli sınıfları bir "kullanımdan kaldırılma günlüğü" ne yazacak (veya kolayca bulunan bir kullanım dışı bırakma etiketi içerecek şekilde) ve zaman içinde günlük dosyasını izleyebileceksiniz. Uzun bir süre hiçbir etkinliğin kaydedilmemesi, sınıf kodu bir şekilde erişilebilir olsa bile, normal kullanıcıların hiçbirinin bunları kaçırmayacağı anlamına gelmelidir. –

+0

Buradaki şey hem sınıfı hem de testlerini silmeyi unuttuğumuzdur. Bununla birlikte, oldukça iyi bir kapsama sahibiz, ama sınıfın işe yaramaz olduğuna dair ipucu yok. –

cevap

2

Bu soru burada bir çok kez yapılmış, ancak en iyi cevaplar derlenmektedir:

https://stackoverflow.com/a/14161807

:

Find unused code in a Rails app

Ben, şahsen, günlük çözümleme sevdim Ancak her durumda bir veritabanında en çok kullanılan modülleri depolayan bir gözlemci oluşturmak için ActiveRecord :: Base'i genişleten kendi logger'ınızı oluşturabilirsiniz. Ihtiyatlı bir süre sonra, bir kez bile çağrılmayan modelleri bulmak tersine mümkün olacak. uygulama davranışını ölçen

(ücretli) diğer profesyonel araç vardır:

http://newrelic.com/

bir projede bu bir kullanılmış ve kontrolör kullanımını ölçen büyük bir çalışma yaptık ettik. Bunu faydalı bulabilirsin.