Ölü Kod Mezarlığı: Sistemi Yavaşlatan Hayalet İnançlar

Her yazılım sisteminin bodrum katında bir mezarlık vardır. Orada artık çalışmayan fonksiyonlar, yıllar önce terk edilmiş koşullar, kimsenin çağırmadığı sınıflar ve üstüne not düşülmüş kadim büyüler uyur: sakın silme, bir gün lazım olabilir. Ölü kod tam olarak budur; programın yaşayan akışına katkısı olmayan ama depoda yer kaplayan, zihni meşgul eden, bakım maliyetini artıran eski parçalar. İlginç olan şu: Ölü kod teknik bir mesele gibi görünür, ama çoğu zaman psikolojik bir arızanın izidir. Kod çalışmaz; korku çalışır.

Bir ekip düşünün. Beş yıl önce yazılmış bir ödeme modülünün içinde devasa bir if bloğu duruyor. Artık hiçbir müşteri o yolu kullanmıyor, dokümantasyon onu anmıyor, testler ona uğramıyor. Ama biri silmeyi önerdiğinde odada sessizlik oluşuyor. Çünkü kodun kendisinden çok, onun etrafındaki efsane yaşıyor: Eski CTO bunu yazmıştı. Büyük bir müşteride sorun çıkarmıştı. Bir ara kampanya döneminde hayat kurtarmıştı. İşte yazılımda ölü kod, çoğu zaman eski bir savaşın madalyasıdır; paslanmıştır ama kimse duvardan indirmeye cesaret edemez.

Ölü kod neden tehlikelidir?

Çünkü yazılım yalnızca işlemciye verilen talimatlardan oluşmaz; aynı zamanda geliştiricinin zihninde kurduğu modeldir. Sistemde gereksiz kod ne kadar artarsa, bu model o kadar bulanıklaşır. Yeni gelen geliştirici şunu sorar: Bu fonksiyon hâlâ kullanılıyor mu? Bu parametre niye var? Bu hata yakalama bloğu hangi senaryo için? Cevap yoksa, kod artık bilgi değil gürültüdür. Gürültü de karar vermeyi yavaşlatır. Yavaş karar veren ekip, hızlı bozulan sistem üretir.

Ölü kodun maliyeti yalnızca satır sayısı değildir. Derleme süresini uzatabilir, statik analizleri kirletebilir, güvenlik taramalarında yanlış alarm üretebilir, test kapsamını sahte şekilde yükseltebilir. Daha kötüsü, yeni bir özellik geliştirirken yanlış referans noktası sunar. Geliştirici, yaşayan mimariyi değil, fosilleşmiş bir çözümü taklit eder. Böylece ölü kod çoğalır; mezarlık, şehir planına dönüşür.

Burada en kritik ayrım şudur: Eski kod ölü kod demek değildir. Legacy kod, hâlâ değer üretiyorsa yaşlı ama canlıdır. Ölü kod ise artık sistem davranışının parçası olmayan koddur. Onu kutsal yapan yaşlılığı değil, belirsizliğidir. Belirsizlik arttıkça insanlar silmek yerine dokunmamayı seçer. Dokunmamak güvenli görünür, ama uzun vadede en pahalı stratejilerden biridir.

Silmek bir vandalizm değil, bakım disiplinidir

Ölü kodla mücadele romantik cesaretle değil, yöntemle yapılır. Önce kullanım izleri aranır: çağrı grafikleri, loglar, feature flag kayıtları, telemetri, testler, sürüm geçmişi. Kod gerçekten çalışmıyorsa, onu yorum satırına almak çözüm değildir; bu sadece cesedi salona taşımaktır. Versiyon kontrol sistemi zaten hafızadır. Git varsa, mezar taşı olarak yorum satırı bırakmaya gerek yoktur.

İyi bir temizlik süreci küçük ve geri döndürülebilir adımlarla ilerler. Önce şüpheli alan işaretlenir, ardından gözlem süresi tanımlanır. Kullanım yoksa testler güncellenir, bağımlılıklar kaldırılır, kod silinir. Pull request açıklamasında neden silindiği net yazılır. Böylece silme eylemi kişisel bir saldırı değil, izlenebilir bir mühendislik kararı olur. Ölü kodu silmek, geçmişteki geliştiriciyi küçümsemek değildir; onun bir zamanlar çözdüğü problemin artık var olmadığını kabul etmektir.

Bu konu yazılımın dışına da sızar. Kurumların süreçlerinde, ekiplerin alışkanlıklarında, bireylerin düşüncelerinde de ölü kod vardır. Bir zamanlar işe yarayan ama artık sadece refleks olarak sürdürülen kurallar. Kimsenin okumadığı raporlar. Her toplantıda tekrarlanan ama karar üretmeyen cümleler. Eski bir başarının gölgesinde yaşayan inançlar. Yazılım bize acımasız bir ayna tutar: Çalışmayan şeyi sistemde tutarsan, sistem sonunda ona benzemeye başlar.

En sağlıklı kod tabanları, en çok kod yazılanlar değil, gereksiz kodun düzenli olarak eksiltildiği yerlerdir. Çünkü iyi mühendislik eklemek kadar çıkarmayı da bilmektir. Bir satırı silmek bazen yüz satır yazmaktan daha yüksek zekâ ister. Ölü kodun fısıltısı hep aynıdır: Ya lazım olursam? Usta geliştiricinin cevabı ise sakindir: Lazım olursan geçmişten geri çağırırım; bugün yaşamıyorsan, üretimde yerin yok.

Borsada İnsan Yoksa Panik Kime Ait? Kodların Saniyeden Hızlı İmparatorluğu

Bir zamanlar borsa denince akla bağıran insanlar, havada uçuşan kağıtlar, terli alınlar ve kahveyle ayakta duran brokerlar gelirdi. Bugünse piyasanın kalbi çoğu zaman cam kulelerde değil, soğutulan sunucu odalarında atıyor. Hatta atmak kelimesi bile fazla biyolojik kalıyor; piyasa artık nabız değil, ping ölçüyor. Alım satım kararları milisaniyeler içinde, insan gözünün grafik üzerinde bir mum çubuğunu seçmesinden çok daha hızlı veriliyor. Finans sahnesinde oyuncular hâlâ insan gibi görünse de kuliste emirleri fısıldayan şey çoğunlukla kod.

Hız, Yeni Sermaye Biçimi

Algoritmik alım satımın temel vaadi basittir: Daha hızlı gör, daha hızlı hesapla, daha hızlı davran. Bir haber başlığı düşer, faiz beklentisi değişir, bir şirket bilançosunda virgül oynar; algoritma bunu insanın anlamlandırmasından önce fiyatlar. Burada hız yalnızca avantaj değil, doğrudan mülkiyet biçimidir. Fiber optik kablonun birkaç metre kısa olması bile milyon dolarlık fark yaratabilir. Çünkü piyasa artık sadece ne bildiğinizle değil, bunu kaç nanosaniyede işlediğinizle ilgilenir.

Bu durum finansı daha verimli kılıyor mu? Evet, çoğu zaman likidite artıyor, alış ve satış fiyatları arasındaki fark daralıyor, işlemler daha düzenli akıyor. Ama verimlilik her zaman bilgelik demek değildir. Bir mikrodalga fırın yemeği hızlı ısıtır; bu, onu iyi bir aşçı yapmaz. Algoritmalar da fiyatları hızlı hareket ettirir, fakat değeri gerçekten anlarlar mı? Daha doğrusu, anlamak zorunda mıdırlar?

İnsansız Piyasanın İnsan Sonuçları

Buradaki tuhaflık şudur: Piyasayı kodlar yönetir, ama bedelini insanlar öder. Emeklilik fonları, küçük yatırımcılar, şirket çalışanları, kredi bekleyen işletmeler; hepsi bu hız tiyatrosunun seyircisi değil, dekorudur. Bir algoritma yanlış sinyal yakaladığında ya da diğer algoritmaların tepkisini taklit ederek zincirleme bir satış başlattığında, ekranlarda kırmızı bir yağmur başlar. Buna bazen flash crash denir: birkaç dakikalık dijital deprem. İnsan daha ne olduğunu soramadan servetler buharlaşır, sonra bir kısmı geri gelir. Piyasa sanki hıçkırmış gibidir.

Fakat hıçkıran kimdir? Kod mu, sistem mi, yoksa onu tasarlayan insan aklının gölgesi mi? Algoritmik finans, insanı piyasadan tamamen silmez; onu daha görünmez ve daha sorumsuz bir konuma iter. Karar anı insandan makineye devredilirken sorumluluk dağıtılır. Yazılımcı stratejiyi yazdığını, yönetici sistemi onayladığını, yatırım şirketi rekabet gereği kullandığını, düzenleyici ise piyasayı izlediğini söyler. Sonuçta herkes bir parça haklıdır ve tam da bu yüzden kimse tam sorumlu değildir.

Kod Tarafsız Değildir

Algoritmaların en büyük mitlerinden biri tarafsız olduklarıdır. Oysa her algoritma bir dünya görüşünün sıkıştırılmış halidir. Hangi verinin önemli olduğu, riskin nasıl ölçüleceği, kaybın ne zaman kabul edileceği, kazancın ne zaman alınacağı; bunların hepsi insani tercihlerdir. Kod, bu tercihleri makine diliyle tekrarlar. Yani algoritmik alım satım, insan psikolojisini ortadan kaldırmaz; korkuyu, açgözlülüğü ve sürü davranışını matematiksel forma sokar. Eski panikler meydanda yaşanırdı, yenileri işlem motorlarının içinde çoğalıyor.

Üstelik algoritmalar birbirleriyle etkileşime girdiğinde ortaya tek tek tasarlanmış stratejilerin ötesinde bir davranış çıkar. Bu, dijital bir ekosistemdir: avcılar, parazitler, taklitçiler, pusucular. Bazı algoritmalar haber okur, bazıları fiyat akışındaki mikroskobik desenleri kovalar, bazıları diğer algoritmaların ayak izlerini arar. Piyasa böylece sadece ekonomik bilgi taşıyan bir yer olmaktan çıkar; makinelerin birbirini kandırmaya çalıştığı bir sinyal savaşına dönüşür.

Ne Yapmalı?

Çözüm nostalji değildir. Kimse işlem salonlarına dönüp telefonla emir bağırarak küresel finansı daha ahlaklı hale getiremez. Mesele algoritmaları yasaklamak değil, onları denetlenebilir, açıklanabilir ve sınırlanabilir kılmaktır. Hız kesiciler, devre kesiciler, şeffaf test ortamları, yapay zeka modelleri için sorumluluk zincirleri ve piyasada makine davranışını izleyen makine denetçileri artık lüks değil, altyapıdır.

Asıl soru şudur: Finansın amacı yalnızca fiyatı en hızlı bulan mekanizma olmak mıdır, yoksa toplumun kaynaklarını anlamlı biçimde yönlendiren bir zeka mı? Eğer ilkini seçersek, piyasalar giderek daha hızlı ama daha kör hale gelebilir. İkincisini seçersek, kodu düşman değil, disipline edilmesi gereken güçlü bir araç olarak görürüz. Çünkü mesele makinelerin alım satım yapması değil; insanın kendi değerlerini makinelere devrederken onları unutmasıdır. Borsa artık saliselerle konuşuyor. Bizim görevimiz, bu hızın içinde hâlâ insan sesi duyuluyor mu diye sormak.

Psikolojik Deneyler

1. : ‘Sineklerin Tanrısı’: Sosyal Kimlik Kuramı

Robbers Cave deneyi, Oklahoma devlet parkında 11 yaşındaki erkek çocuklardan oluşan iki grupla yapılmıştır. Deney, insanların nasıl kolayca grup kimliğine adapte olduğunu ve grubun dışındakilere önyargı ve düşmanca tavırlar göstererek dejenere olduğunu gösteriyor.

Araştırmacı Muzafer Sherif 3 seri deney yapmıştır. İlkinde gruplar ortak bir düşmana karşı bir araya getirilir. İkinci olarak gruplar araştırmacılara karşı bir araya gelir. Son olarak da deneyde gruplar birbirlerine karşı pozisyonda olurlar.

2. Standford Hapishane Deneyi: Gücün Etkisi

Çok eleştiri alan bu deneyde araştırmacılar insanın kalbindeki şeytani derinlikleri su yüzüne çıkartmış ve kısa bir süre sonra deney sonlandırılmıştır.

Psikolog Philip Zimbardo, katılımcılarını ‘mahkum’ ve ‘gardiyan’lar olmak üzere iki gruba ayırır. Deney Standford Üniversitesi’nin bodrum katında oluşturulan yapay bir hapishanede gerçekleştirilir. Mahkumlar önce tutuklanıp, tüm giysileri çıkarılarak aranmış, saçları traş edilmiş ve diğer suistimallere maruz kalmıştır. Gardiyanlara ise jop verilir.

Mahkumlar ikinci günde isyan eder ve buna karşın gardiyanların yanıtı hızlı ve şiddetli olur. Çok geçmeden, gardiyanlar kendi rollerini diğerlerini kışkırtarak ve suistimal ederek tamamen benimser, mahkumlar ise daha uysal ve itaatkar davranır.

Bu deney insanların şeytani eğilimlerini doğrulayan bilimsel kanıtlardan biridir. Deneyin 14 gün sürmesi tasarlandığı halde, artan şiddet sebebiyle 6 günde bitirilmiştir.
Devamını oku “Psikolojik Deneyler” →