Ölü kod

Ölü kod, bilgisayar programlamasında kullanılan bir terim olup yürütülmesine rağmen sonucu kullanılmayan kaynak koduna denir.Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University Press. Ö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.Douglas W. Jones Dead Code Maintenance, Risks 8.19 (Feb. 1, 1989) 

 Ayrıca bakınız 
 Erişilemeyen kod
 Gereksiz kod

 Kaynakça 

 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

Kategori:Yazılım hataları
Kategori:Derleyici optimizasyonları
Kategori:Kaynak kodu
Kategori:Yazılım mühendisliği terimleri