Servlet ile yazılmış yarısı kullanılmayan classlardan oluşan bir uygulamada kullanılmayan classlar nasıl tespit edilip silinebilir?

Böyle karmaşık bir projede dikkat edilmesi gereken clean code teknikleri nelerdir?

Düzenleme: Genel düşünce class referansları üstünden gidilmesi yönünde oldugundan şunu belirteyim. Classların bagımlılıkları olabilir ve bunu bu şekilde takip etmek zor olucaktır. Hatta kullanılan classlarada bagımlılıkları olabilir.

soruldu: 12 Şub '13, 13:18

Alp's gravatar image

Alp
873304447
cevap kabul oranı: 18%

değiştirildi: 13 Şub '13, 02:02

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Merhabalar,

sizlere Sonar i tavsiye ederim. Sonar ile static code arastirmasini yapa bilirsiniz. Böylece bir cok hatayi / gereksiz codlari bulabilirsiniz.

permanent link

cevaplandı: 13 Şub '13, 02:37

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

Sonar'daki static code benim istedigime tam olarak karşılık gelmiyor diye biliyorum. Aslında birazda karmaşık bir şey istedigimin farkındayım ama Sonar'ın çözüm olabilecegini sanmıyorum.

(14 Şub '13, 01:23) Alp Alp's gravatar image

Merhaba Alp,

Buraya bir göz at. http://www.sonarsource.org/detect-dead-code-and-calls-to-deprecated-methods-with-sonar-squid/

Eger classlarinin icinde hic bir method kullanilmiyorsa, classlarin da kullanilmiyor diye bilirsin. (cogu zaman)

(14 Şub '13, 02:09) mahmut_can ♦ mahmut_can's gravatar image

Eclipse'te class ismini seçip sağ tık->References->Workspace veya Project seçerek,sınıfın herhangi bir yerde kullanılıp kullanılmadığını görebilirsiniz.

alt text

permanent link

cevaplandı: 13 Şub '13, 01:29

mhkoca60's gravatar image

mhkoca60
1.8k264554
cevap kabul oranı: 15%

değiştirildi: 13 Şub '13, 01:30

Classların bagımlılıkları olabilir ve bunu bu şekilde takip etmek zor olucaktır.

Hatta kullanılan classlarada bagımlılıkları olabilir.

Bana daha çok JVM üzerinde ayaga kalkmıyan classlar yada hiç çagrılmayan classlar benzeri bişey lazımmış gibi geliyor yinede emin degilim.

(13 Şub '13, 01:47) Alp Alp's gravatar image

Burada classların sayısı da önemli. Hiç kullanılmayan classlar bu şekilde tesbit edilebilir. Bağımlılıkları olan classlar da bir noktaya kadar(Mesela A ve B classları C'ye, C de D'ye bağlıysa, D'nin bir bağımlılığı yoksa D silinince C'nin, o silinince de A ve B'nin bağımlılıkları da ortadan kalkacak. Tabi bunu tesbit için silinen class içinde başka class var mı diye bakılması veya sildikten sonra baştan tarama yapılması gerekir. Bu da haliyle angarya olacak) tesbit edilebilir. Benim aklıma gelen çözüm ancak bu şekilde.

(13 Şub '13, 02:18) mhkoca60 mhkoca60's gravatar image

Şu uygulama belki çözüm olabilir: JavaDepend

permanent link

cevaplandı: 14 Şub '13, 01:50

mhkoca60's gravatar image

mhkoca60
1.8k264554
cevap kabul oranı: 15%

değiştirildi: 14 Şub '13, 03:53

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 12 Şub '13, 13:18

Görüntüleme: 621 kez

Son güncelleme: 14 Şub '13, 03:53

powered by BitNami OSQA