Kitap incelemesi: Önce sipariş verılsin mi?
Kent Beck
Öncelikle sırayla mı?
Daha iyi yazılım tasarımı için mini yeniden düzenleme
O'Reilly, Mart 2024
124 sayfa, 26,90 Euro'dan (basılı/dijital)
ISBN: 978-3-96009-244-5
Duyuru
Kent Beck, çoğu geliştirici tarafından yalnızca çevik manifestosu ve ekstrem programlama ve test odaklı geliştirme hakkındaki kitaplarıyla tanınmıyor. Çalışmaları sayesinde uzun zamandır yazılım geliştirmenin şöhret listesine girmiştir.

Ralf D. Müller temel olarak yazılım mimarisi ve tasarımının çeşitli yönleriyle ilgilenmektedir. Mimari dokümantasyon konusunda uzmanlaşmıştır ve arc42 ve kod olarak dokümantasyon yaklaşımlarının savunucusudur.
Pek çok kitabı, genellikle içeriğe katkı sağlamadığı için önsöz ve giriş kısmını okumadan bitirdim. Burada işler farklı çünkü girişte iki önemli bilgi var.
Bir yandan, “Öncelikle sırayla?” yazılım tasarımı konusunda henüz yazılmamış bir kitap serisinin ilk kitabı. Bu, kitabın yalnızca 124 sayfa olan uzunluğunu ve okuduktan sonra hala bilgiye olan açlığın neden tam anlamıyla giderilmediğini açıklıyor. İyi bir dizide olduğu gibi, sonunda diğer bölümleri bekleyip bir çırpıda yememeli miydim diye merak ediyorum.

(Resim: dpunkt.verlag (O'Reilly))
Beck ise yazılım tasarımını “kişilerarası ilişkiler egzersizi” olarak tanımlıyor. Önemli bir husus, çünkü çoğu zaman kodumu, okunabilirliği en yüksek kalite kriteri olarak belirleyerek değil, becerilerimin sanatına odaklanarak optimize ettim. Kodun yazılmasının zor olduğu, dolayısıyla okunmasının da zor olması gerektiği yönündeki ciddi olmayan atasözüne sadık kalarak, kod, yazarın bilişsel yeteneklerini göstermeyi sever ve aslında geliştiricinin bakış açısından insan-makine arayüzünü temsil ettiğini unutur. Sonuç olarak Beck'in tanımı, iyi okunabilirlik yoluyla kod üzerinde işbirlikçi çalışmayı teşvik ediyor.
Kitap üç bölüme ayrılmıştır; ilk ikisi uygulamaya, sonuncusu ise teoriye ayrılmıştır. Temizlik işiyle ve bunun nasıl doğru şekilde kullanılacağıyla ilgili pratik kısımlar, bir blog yazısının rahat tarzında yazılmış ve çok fazla derinlemesine gitmeden fikirleri aktarıyor. Bu nedenle pratik parçalar hızla tüketilebilir.
Temizlik işi
İlk bölümde Beck, kodu daha okunaklı hale getirmek için temizlemeye yönelik çeşitli yaklaşımları 15 bölümde anlatıyor. Her yaklaşım sözde kod kullanılarak kısaca gösterilmiştir. Yaklaşımlar, her yeri veya her kod parçasını bulduğunuzdan daha iyi durumda bırakmanız gerektiğini söyleyen İzci kuralının talimatlarına benziyor.
Deneyimli geliştiricilere çoğu temizleme fikri önemsiz görünecektir (örneğin, “açıklayıcı yorumlar yazın”). Ancak bunların hepsinin yapılandırılmış bir şekilde kağıda yazıldığını görmek faydalı olacaktır.
Doğru kullanım
İkinci bölüm ise bu arındırıcıları kullanmanın en iyi yolu hakkındadır. Ne zaman temizlemeye değer? Değişiklikleri ve temizliği ancak her şey işe yaradıktan sonra mı yapacağım? Yoksa değişikliği uygulamam daha kolay olsun diye önce işleri mi toparlamalıyım?
Arka planda teori
Üçüncü bölüm, düzenlemenin ve dolayısıyla yazılım tasarımının ardındaki teoriyle ilgili olduğundan işlerin daha da ilginçleştiği yerdir. Beck teorisini on iki kısa ve özlü alt bölümde açıklıyor. Yazılım tasarımı kavramını “öğeler arasındaki faydalı ilişki” olarak tanımlıyor. Kitabın başında biraz daha fazla içerik kaçırmıştım ama bu noktada metinler daha detaylı hale geliyor ve sizi düşünmeye teşvik ediyor.
Beck, yazılım tasarımının değerini daha somut hale getirmek için finans ve seçeneklerin değeriyle bir benzetme yapıyor. Bu karşılaştırma finans dünyasını bilenler için kesinlikle faydalıdır ancak başkaları için kafa karıştırıcı olabilir. Yazılım tasarımını iyileştirmek için kodu temizlemek ve dolayısıyla gelecekteki özellikler için daha fazla seçeneği açık tutmak, dengeleyici bir eylemdir. Daha sonra asla gelmeyecek daha kolay bir değişiklik yapmak için şimdi ne kadar zaman yatırım yapmak isterim? Kitabın üçüncü bölümünde bu ve buna benzer soruların doğru yanıtları veriliyor.
Sonuç: Serinin bir sonraki kitabını sabırsızlıkla bekliyorum
Yeni kitap “Önce Düzenli?” Kent Beck'in yazdığı ilginç ve serinin yazılım tasarımı konusunda önerilen diğer bölümleri hakkında merak uyandırıyor. Çeviri başarılıydı. İlk başta zaman zaman orijinaline baktım ve yazı stilinin İngilizcede bile bazen alışılmadık olduğunu fark ettim. İçerik açısından, yalnızca yeniden düzenleme nedenleriyle değil, özellikle kod üzerinde çalışmayı basitleştirmek için kodun yeniden düzenlenmesine ilişkin ilginç bakış açıları sunar.
[Anmerkung d. Red.: Der dpunkt.verlag als Herausgeber des deutschsprachigen O’Reilly-Buches ist wie iX Teil der Haberler group]
(harita)