Zihninin Kodunu Kim Yazdı: Kendini Refactor Etme Sanatı

Yazılım dünyasında refactoring, çalışan bir kodu dışarıdan aynı davranışı koruyacak biçimde içeriden daha okunabilir, daha sürdürülebilir ve daha zarif hale getirmektir. Kod çalışıyordur ama içi spagetti gibidir: bir fonksiyon her şeyi yapar, değişken adları travmatik çocukluk anıları kadar belirsizdir, aynı hata üç farklı yerde tekrarlanır. İnsan zihni de çoğu zaman böyle çalışır. Dışarıdan bakıldığında gülümsersin, işe gidersin, mesajlara cevap verirsin; ama içeride bir yerde eski korkular, otomatik savunmalar, ödünç alınmış inançlar ve kimden kaldığı belli olmayan zihinsel if-else blokları dönüp durur.

Kişisel gelişim çoğu zaman yanlış anlaşılır. Sanki insanın üstüne yeni özellikler eklemek gerekiyormuş gibi sunulur: daha üretken ol, daha karizmatik ol, daha disiplinli ol, sabah beşte kalk ve evreni tokatla. Oysa bazen ihtiyaç yeni özellik değil, teknik borcu temizlemektir. Zihinsel teknik borç, yıllar önce işe yaramış ama bugün seni yavaşlatan çözümlerdir. Çocukken susmak seni korumuş olabilir; yetişkinlikte aynı suskunluk seni ilişkilerde görünmez yapar. Bir dönem öfke sana sınır çizdirmiş olabilir; bugün aynı öfke en yakınlarını yakar. Kod çalışıyor gibi görünür, ama bakım maliyeti yüksektir.

İç Gözlem: Debugger’ı Kendine Bağlamak

Refactoring’in ilk şartı, kodu suçlamadan okumaktır. İyi programcı koda bağırmaz; önce onu anlamaya çalışır. İyi bir iç gözlem de böyledir. Kendine kızmadan, kendini kahramanlaştırmadan, sadece şunu sorarsın: Bu tepki nereden geliyor? Bu düşünce gerçekten bana mı ait, yoksa aileden, kültürden, eski bir yaradan mı miras? Jungiyen bir dille söylersek, gölge genellikle kötü olduğumuz yer değil, bilinç tarafından henüz okunmamış modüldür. Karanlık olduğu için korkutucudur; ama çoğu zaman içinde enerji, yaratıcılık ve özgürleşme saklar.

Bir zihinsel kod parçasını ele alalım: İnsanlar beni eleştirirse değersizim. Bu cümle, sistemde merkezi bir fonksiyon gibi çalışabilir. Biri ufak bir yorum yaptığında tüm uygulama çöker: savunmaya geçersin, susarsın, saldırırsın veya kendini günlerce iç mahkemede yargılarsın. Refactoring burada düşünceyi silmek değildir; onu parçalarına ayırmaktır. Eleştiri nedir? Değer nedir? Birinin yorumu benim varlığımın tamamını nasıl ölçebilir? Bu sorular, devasa ve bulanık bir fonksiyonu küçük, test edilebilir parçalara böler.

Davranışın Arayüzü, İnancın Motoru

İnsanlar çoğu zaman davranışı değiştirmeye çalışır; ama davranış yalnızca arayüzdür. Butona basınca ne olacağını belirleyen içerideki mantıktır. Sürekli erteleyen birinin sorunu yalnızca zaman yönetimi olmayabilir. Belki başarısız olursa sevilmeyeceğine inanıyordur. Belki başarı, ailesinden ayrışmak anlamına geliyordur. Belki de zihni, tamamlanmamış işlerin sisinde güvenli bir mağara kurmuştur. Refactoring, semptomu cilalamak değil, mimariyi görmektir.

Burada savaşçı tavrı gerekir; ama bu savaş dış dünyaya karşı değil, otomatikliğe karşıdır. Savaşçı, zihninden geçen her düşünceye inanmaz. İçinden bir ses ‘yapamazsın’ dediğinde ona kutsal metin muamelesi yapmaz; log kaydı gibi inceler. Ne zaman ortaya çıktı? Hangi tetikleyiciyle çalışıyor? Bana neyi yaptırıyor, neyden koruyor, neye mal oluyor? Bu sorular, bilinç ile refleks arasına ince ama devrimci bir mesafe koyar.

Elbette insan makine değildir. Zihinsel refactoring, duyguları optimize edip steril bir robota dönüşmek anlamına gelmez. Tam tersine, insanın kendi karmaşıklığına daha zarif bir mimari kazandırmasıdır. Keder kalabilir, ama artık tüm sistemi kilitlemez. Öfke kalabilir, ama sınır çizen bir sinyale dönüşür. Korku kalabilir, ama direksiyonun başına geçmez. İyi yazılmış bir iç dünya, duyguları yok etmez; onları doğru bağlamda çalıştırır.

Bu süreçte en tehlikeli hata, kendini tamamen yeniden yazma fantezisidir. Sağlıklı refactoring, çalışan sistemi çöpe atmaz. Önce test yazar: Beni hayatta tutan neydi? Hangi alışkanlık bir zamanlar işe yaradı? Hangi yanım korunmayı hak ediyor? Sonra küçük değişiklikler yapar. Bir konuşmada otomatik savunmaya geçmeden önce üç saniye durmak. Bir hatada kendine hakaret etmek yerine durumu adlandırmak. Bir ilişkide görünmez olmak yerine küçük bir ihtiyacı söylemek. Bunlar küçük commit’lerdir; ama kimlik dediğimiz büyük yazılım böyle güncellenir.

Sonunda mesele kusursuz olmak değildir. Kusursuz kod yoktur, kusursuz insan da yoktur. Ama okunabilir bir zihin mümkündür. Neden korktuğunu, neye aç olduğunu, hangi eski döngülere takıldığını görebilen insan, kader sandığı script’i düzenlemeye başlar. Belki özgürlük de budur: İçimizde çalışan programların farkına varmak, bazılarını emekliye ayırmak, bazılarını yeniden adlandırmak ve en önemlisi, artık kodun yalnızca çalışmasını değil, yaşanmaya değer olmasını istemek.

Bir yanıt yazın

Ad ve E-posta zorunlu değildir.