Geliştirici sezgisi, okunabilir kod ve nörobilim: Neden bazı kodlarda kendimizi daha rahat hissederiz?
(evan-moon.github.io)Okunabilir kod üzerine tartışmalar çoğu zaman kişisel zevk ya da alışkanlık alanına indirgenir; ancak bunun temelinde aslında bilişsel bilim ilkeleri çalışır. Bu yazı, geliştiricinin sezgisini nörobilim perspektifinden ayrıştırıyor ve okunabilirlik gibi soyut bir hissi mantıksal bir yapı içinde analiz ediyor.
-
Sezgi, sihir değil; ileri düzey bir örüntü eşleştirmesidir Deneyimli geliştiricilerin koda
görür görmezkötü kokuyu alması basit bir his değildir. Bu, beynin ventral striatumunun geçmişte öğrenilmiş sayısız kod örüntüsüyle mevcut kodu gerçek zamanlı olarak karşılaştırma sürecidir. Yani sezgi, mantığın atlanmış olması değil; o kadar hızlı işlenmesinin sonucudur ki mantıksal süreç bilinç düzeyinde görünmez hale gelir; biryüksek hızlı hesaplamasonucudur. -
Working Memory ve bilişsel yükün sınırları İnsan working memory’si aynı anda yalnızca yaklaşık 3 ila 5 bilgi birimini (
chunk) işleyebilir. Okunabilirliği düşük kod, bu sınırlı kaynağı tüketir.
Gereksiz bilişsel sıçramalar: Bildirim bölümüyle yürütme bölümü birbirinden fazla uzaksa ya da neden-sonuç ilişkileri dolaşıksa, beyin mevcut bağlamı korumak için sürekli context switching yapmak zorunda kalır.
Psikolojik görünürlük: Kodun tek bakışta okunabilmesi, beynin kodu ek bir yorumlama sürecine ihtiyaç duymadan zaten bildiği bir örüntüye (schema) hemen eşlediği anlamına gelir.
- Chunking kullanan kod tasarımı Beyin, tek tek verileri gruplayıp tek bir birim olarak algıladığında verimliliği en üst düzeye çıkarır.
İyi tasarlanmış fonksiyonlar ve modüller, karmaşık mantığı tek bir chunk olarak soyutlayarak okuyucunun ayrıntılı implementasyonu unutsa bile genel bağlamı kavramasına yardımcı olur.
Ancak aşırı soyutlama, anlamı kavrayabilmek için chunkın içine bakmayı zorunlu hale getirir; bu da beynin yorumlama maliyetini iki katına çıkaran bir bilişsel verimsizlik yaratır.
- Beynin enerji koruma yasası ve kod tutarlılığı Beyin, vücut enerjisinin %20’sinden fazlasını kullanan bir organdır ve içgüdüsel olarak enerji tüketimini azaltmaya çalışır. Tutarsız isimlendirme ya da dağınık konvansiyonlar, beynin
öngörü modelini bozarak gereksiz enerji harcamasına yol açar. Buna karşılık kuralları açık kod, beynin koduotomatik pilotmodunda okumasını sağlar ve yorgunluğu azaltır.
Sonuç: Okunabilirlik, çalışma arkadaşının beynine gösterilen bir özen Sonuç olarak iyi kod tasarımı, ekip arkadaşınız olan geliştiricinin beyninin örüntü tanıma için kullandığı enerjiyi en aza indiren bir bilişsel tasarımdır. Okunabilirliği artırmak yalnızca kodu güzel göstermek değildir; birlikte çalıştığınız kişinin sınırlı bilişsel kaynaklarını korumanın en ekonomik yoludur.
1 yorum
Güzel yazı için teşekkürler.
Örnek kod gerçekten çok etkileyici haha