Geliştirici: Yazılım mimarisinin doğal düşmanları?
Yazılım mimarisi neden bu kadar önemli? Büyük sistemleri uygulamamıza yardımcı olur. Kodu modüllerdeki yapılandırarak, geliştiricilerin yalnızca değişiklikler için ayrıntılı olarak değiştirilecek formu anlamaları gerektiğini garanti edebiliriz. Örneğin arayüz boyunca yalnızca diğer modüllerin yüzeysel bilgisi gereklidir. Bu ilkeye “bilgiyi gizleme” denir: detaylar modüllerde gizlenir ve diğer modüller üzerinde çok az etkisi ile değiştirilebilir. Bu şekilde, modüller ideal olarak anlaşılabilir ve tek başına değiştirilebilir. Mimarlık özellikle başarılı olursa, geliştiriciler bu nedenle yazılımda çok az bilgi ile değişiklik yapabilir ve bu nedenle özellikle kolay olabilir.

(Resim:
Eberhard Wolff
)))
Eberhard Wolff, Swaglab'ın mimarisinin başkanıdır ve yirmi yıldan fazla bir süredir, genellikle iş ve teknoloji arasındaki arayüze mimar ve danışman olarak çalışmaktadır. Mikro hizmetler de dahil olmak üzere çok sayıda makale ve kitabın yazarıdır ve uluslararası konferanslarda konuşmacı olarak düzenli olarak performans gösterir. Teknolojik odağı, bulut, alan adı ve mikro hizmetler tarafından yönetilen tasarım gibi modern mimari ve geliştirme yaklaşımlarıdır.
“İyi” geliştiriciler altında, karmaşık sistemleri de anlayabilen ve geliştirebilen insanlara kendimizi tanıtmak istiyoruz. Bu insanlar ayrıca değişikliklerin o kadar kolay olmadığı ve gerekirse bazen sistemin tamamen farklı alanlarında zor bir etkiye sahip olduğu mimarlık kusurlarıyla da karşılaşabilirler. Belki de entelektüel olarak bu sorunlarla yüzleşmeyi ve eğlenmeyi talep edersiniz. Ayrıca, bu koşullar sadece güvenli işi değil, aynı zamanda bir prestiji de garanti eder. Sonuçta, bu insanlar genellikle önemli sistemi değiştirebilen ve bu nedenle şirket için çok yüksek bir değere sahip olan tek kişidir.
Okunaksız kodu yazan herkes yetkin olarak kabul edilir
Bu “iyi” geliştiricilerin ve geliştiricilerin bu anlayışına ilişkin bilgiler başka bir yerde de bulunabilir: Java gibi bir programlama dilinin inceliklerini kullanan herkes, sertifikasyonda sorgulanan, özellikle anlaşılması ve değiştirilmesi kolay kod oluşturmaz, ancak özellikle özellikleri tamamen heyecanlandıran ve dilin özel özelliklerine dayananlar. Kodu anlamak ve değiştirmek özellikle zordur. Bununla birlikte, böyle bir sertifika geliştiricinin becerilerinin bir göstergesi olarak kabul edilir. Yani, özellikle okunaksız bir kod yazabilir veya okuyabilirseniz, bu nedenle özellikle iyisiniz.
Bu geliştiriciler “akademik” mimari yaklaşımları memnun etmeyebilir ve “pragmatik” bir yaklaşımı tercih etmeyebilir. Sonuçta, durumdan bile yararlanın. Belli bir karmaşıklığa kadar çalışır. “Gerçekten iyi” geliştiricilerle, bu korkutucu derecede yüksek bir karmaşıklığa yol açar. Bu nedenle yabancılar için bir gizem olan sistemleri içerirler. Yani yazılım mimarlarının çalışmaları muhtemelen verimli bir zemine düşmez. Sonuçta, sistemi daha fazla geliştirebilir misiniz, o zaman neden yapılandırmanın daha iyi olduğunu? Aslında, mimar, çabalarının daha mantıklı göründüğü farklı bir pozisyon bulmak için ekibi terk eder. Ve bu nedenle “iyi” gelişme, yazılım mimarisinin doğal düşmanlarıdır.
Gerçek yeterlilik nedir?
Sorun, geliştiricilerin ne zaman “iyi” olarak kabul edildiğini anlamaktır. Tabii ki, geliştiriciler teknolojileri anlamalıdır. Karmaşık bir kodu yönetebiliyorsanız kesinlikle avantajlıdır, ancak bu tür durumlardan kaçınmalı ve asla size doğru çalışmalısınız. Gerçekten iyi geliştiriciler basit bir kod üzerinde çalışmayı tercih ediyor. Karmaşık bir koda isteksizlik var – bu nedenle geliştiriciler ve “temiz” mimari aynı hedefe sahip.
“Temiz” mimarinin hüküm sürebileceği projelerde bir ortam yaratabiliriz. Geliştiriciyi tebrik etmemeliyiz çünkü kendi başlarına karmaşık bir değişiklik uyguladılar. Bunun yerine, bu karmaşık değişikliklerin gelecekte nasıl önlenebileceğine ve bu değişiklikleri yapmak için daha fazla insanın nasıl yetkilendirilebileceğine dikkat edilmelidir. İyi yazılım mimarisinin geliştirilmesini teşvik etmek için, olumsuz çalışma yollarını ödüllendirmeliyiz ve olumsuz olanları düzeltmeliyiz. Karmaşık bir kodla uğraşırken bir geliştiricinin bireysel becerisine odaklanmak yerine, kodun kalitesine ve mimarinin uygulanmasına odaklanmalıyız.
Gelişimin tamamen teknik yönleriyle hiçbir anlaşması olmayan konulara büyük ilgi duymanız da önemlidir. Bu, etki alanını, gereksinimleri ve kullanıcıları anlamaya ve doğru işlevleri uygulamaya yardımcı olur. Bununla birlikte, bunu yapmak için, alan adına ve profesyonelliğe orijinal bir ilginiz olması gerekir: çok çeşitli ilgi alanlarına sahip insanlar daha kolaydır.
TL; Dr.
Yazılımın mimarisi, yazılımın karmaşıklığını içermek için önemli bir araçtır. Karmaşık sistemlerle de ele alınabilen geliştirici, böyle bir mimarlık anlayışı ile karşı karşıya kalabilir.
(SIH)