Geliştirici: Yazılım Mimarisinin Doğal Düşmanları mı?
Zaten yazılım mimarisi neden bu kadar önemli? Büyük sistemleri uygulamamıza yardımcı olur. Kodu modüller halinde yapılandırarak, geliştiricilerin değişiklik yapabilmeleri için yalnızca modülü ayrıntılı olarak anlamalarının yeterli olmasını sağlayabiliriz. Arayüz gibi diğer modüller hakkında yalnızca yüzeysel bir bilgi gereklidir. Bu ilkeye “bilgi gizleme” denir: ayrıntılar formlarda gizlidir ve diğer formlar üzerinde çok az etkiyle değiştirilebilir. Bu şekilde, modüller ideal olarak izole bir şekilde anlaşılabilir ve değiştirilebilir. Mimari özellikle etkiliyse, geliştiriciler çok az bilgiyle ve dolayısıyla özellikle kolaylıkla yazılımda değişiklik yapabilirler.
“İyi” geliştiriciler olarak, burada kendimizi karmaşık sistemleri anlayan ve daha fazla geliştirebilen kişiler olarak sunmak istiyoruz. Bu insan, değişikliklerin o kadar kolay olmadığı ve bazen sistemin tamamen farklı bölümlerinde anlaşılması zor sonuçlara sahip olabileceği mimari başarısızlıklarla da karşılaşabilir. Hatta bu tür problemlerle uğraşmayı entelektüel olarak zorlayıcı ve eğlenceli bulabilirler. Üstelik bu koşullar sadece güvenli bir işi değil, aynı zamanda prestiji de garanti eder. Ne de olsa, önemli sistemleri değiştirebilen ve bu nedenle şirket için büyük değere sahip olan tek kişiler genellikle bu kişilerdir.
Okunamayan kod yazan herkes yetkin kabul edilir
Böyle bir “iyi” geliştirici anlayışının belirtileri başka yerlerde de bulunabilir: örneğin, bir sertifikada sorgulanan Java gibi bir programlama dilinin inceliklerini kodda kullanan herhangi biri, özellikle anlaşılması kolay bir kod oluşturmaz. ve değişim, ancak yalnızca özelliklerden tam olarak yararlanan ve dilin özel özelliklerine dayanan bir değişiklik. Kodun anlaşılması ve dolayısıyla değiştirilmesi özellikle zordur. Ancak bu sertifika, geliştiricinin becerisinin bir göstergesi olarak kabul edilmektedir. Bu nedenle, özellikle okunamayan kod yazabilen veya okuyabilen herkes, özellikle iyi kabul edilir.
Bu tür geliştiriciler, “akademik” mimari yaklaşımlardan hoşlanmayabilir ve “pragmatik” bir yaklaşımı tercih edebilir. Sonuçta, durumdan bile faydalanıyorlar. Belirli bir karmaşıklık düzeyine kadar çalışır. “Gerçekten iyi” geliştiricilerle bu, endişe verici bir karmaşıklık düzeyine yol açar. Yani yabancılar için bir sır olan sistemleri anlıyorsunuz. Ancak o zaman yazılım mimarlarının çalışmaları muhtemelen verimli bir zemine oturmayacaktır. Sonuçta, sistem daha da geliştirilebilir, öyleyse neden daha iyi yapılandıralım? Hatta mimar, çabalarının daha anlamlı olacağı başka bir pozisyon bulmak için sonunda ekipten ayrılabilir. Ve bu nedenle “iyi” geliştiriciler, yazılım mimarisinin doğal düşmanlarıdır.
Gerçek yeterlilik nedir?
Sorun, kadın geliştiricilerin ne zaman yetkin anlamında “iyi” kabul edildiğini anlamaktır. Doğal olarak, geliştiriciler teknolojileri anlamalıdır. Karmaşık kodlarla başa çıkabiliyorsanız bu kesinlikle bir avantajdır, ancak bu tür durumlardan kaçınmalı ve kesinlikle bunları çözmeye çalışmamalısınız. Gerçekten iyi geliştiriciler basit kod üzerinde çalışmayı tercih ederler. Sadece karmaşık kodlardan hoşlanmıyorsunuz, bu nedenle geliştiriciler ve “temiz” mimari aynı amaca sahip.
Projelerde “temiz” mimarinin kendini gösterebileceği bir ortam yaratabiliriz. Geliştiricileri karmaşık değişiklikler yaptıkları için tebrik etmemeliyiz. Bunun yerine, gelecekte bu tür karmaşık değişikliklerden nasıl kaçınılacağına ve daha fazla insanın bu değişiklikleri yapmasını nasıl sağlayacağına odaklanılmalıdır. İyi yazılım mimarisinin geliştirilmesini teşvik etmek için, iyi çalışma biçimlerini ödüllendirmeli ve kötü olanları düzeltmeliyiz. Bir geliştiricinin karmaşık kodu işleme konusundaki bireysel becerisine odaklanmak yerine, kodun kalitesine ve mimarinin uygulanmasına odaklanmalıyız.
Geliştirmenin tamamen teknik yönleriyle ilgili olmayan konulara geniş bir ilgi duymak da önemlidir. Bu, etki alanını, gereksinimleri ve kullanıcıları anlamaya ve doğru özellikleri uygulamaya yardımcı olur. Ancak bunu yapmak için, alana ve konuya orijinal bir ilginizin olması gerekir – bu, geniş bir ilgi yelpazesine sahip insanlar için daha kolaydır.
tl; doktor
Yazılım mimarisi, yazılım karmaşıklığını kontrol altında tutmanın önemli bir yoludur. Aynı zamanda karmaşık sistemlerle başa çıkabilen geliştiriciler, bu tür bir mimari anlayışını reddedebilirler.
()
Haberin Sonu