Ölü kod
Ölü kod, bilgisayar programlamasında kullanılan bir terim olup yürütülmesine rağmen sonucu kullanılmayan kaynak koduna denir.[1][2] Ölü kodun yürütülmesi, sonuçları hiçbir zaman kullanılmadığından hesaplama zamanını israf eder.
Sonuçları kullanılmasa da ölü kod ayrıksı durumlara ya da genel durum değişikliklerine yol açabilir. Bu kodun programdan uzaklaştırılması, programın çıktısını etkileyerek beklenmedik hatâların ortaya çıkmasına sebep olabilir. Derleyicinin kodu iyileştirme yaklaşımları, kod uzaklaştırmalarının programın seyrine etki edebileceği konusunda şüpheye yer bıraktığında muhâfazakâr olur ve kodu uzaklaştırmaz.
Örnek
int foo (int iX, int iY)
{
int iZ = iX/iY;
return iX*iY;
}
Bu örnekte iX ve iY'nin toplamı kullanılmamasına rağmen hesaplanmakla birlikte sıfıra bölünme durumunda bir ayrıksı durum oluşturmaktadır. Dolayısıyla ölü koddur ve programdan uzaklaştırılabilir.
Analiz
Ölü kod uzaklaştırmalası, bir çeşit derleyici optimizasyonudur. Ölü kodun analizi canlı değişken analiziyle yapılabilir. Bu analiz, statik kod analizi ve veri akışı analizinin bir çeşidi olup erişilemeyen kod analizinin aksine kontrol akışı analizine dayanmamaktadır.
Ölü kodu uzaklaştırma yöntemleri, erişilemeyen veya gereksiz kod uzaklaştırmalarıyla aynı kategoridedir.
Büyük programlarda bilhassa komple modüller söz konusu olduğunda ölü kodun tespîti ve uzaklaştırması bazen zor olur. Test yapısı, uzaklaştırılması düşünülen kodun hâlez canlı olduğu izlenimini uyandırabilir ve bazen anlaşmalar, kullanılmayan kodla programın teslîmine sebep olur.[3]
Ayrıca bakınız
- Erişilemeyen kod
- Gereksiz kod
- Ölü kod uzaklaştırması
Kaynakça
- ↑ Debray, S. K., Evans, W., Muth, R., and De Sutter, B. 2000. Compiler techniques for code compaction. ACM Trans. Program. Lang. Syst. 22, 2 (Mar. 2000), 378-415.
- ↑ Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University Press.
- ↑ Douglas W. Jones Dead Code Maintenance, Risks 8.19 (Feb. 1, 1989)
Dış bağlantılar
- Dead Code Detector (DCD) simply finds never used code in your Java/JEE applications
- Comparisons of some Java Dead Code Detector
- UCDetector Eclipse PlugIn to find dead java code