Çeşitli eserleri birbirine bağlayan labirent benzeri bağımlılıkları olan birçok akış ve katman aracılığıyla çoklu sistemler sağlayan bir Veri Ambarı'nda çalışıyorum. Neredeyse her gün böyle durumlarla karşılaşıyorum: Bir şey çalıştırıyorum, işe yaramıyor, bir sürü kod geçiyorum ama saatler sonra anladım ki, şimdi bildiklerimin küçük bir bölümünün süreç haritasını kavramsallaştırmayı başardım Günün ilerleyen saatlerinde gerekli, bu yüzden birine soruyorum ve bana bu diğer akıntının ilk önce çalıştırılması gerektiğini ve burayı kontrol edersem (diğer kodlanmış bağımlılıkların çok büyük bir yığınının görünüşte keyfi bir kısmını belirten) gösterirse, o zaman bunu gördüm. İnanılmaz derecede sinir bozucu.
Ekibe, belki de özyinelemeli kod seviyelerinde, hatta bu verilerin tekrarlayan kod seviyelerinde derine gömülmek yerine, nesneler arasındaki bağımlılıkları daha görünür ve açık hale getirmek için daha fazlasını yaparsak iyi bir fikir olacağını önerebilseydim belki de iyi bilinen, denenmiş ve test edilmiş bir yazılım paradigmasına atıfta bulunarak başka bir akım tarafından doldurulmuş olması gerekir - o zaman işimi ve herkesin işini çok daha basit hale getirebilirim.
Bunun faydalarını ekibime açıklamak biraz zor. Her şeyi olduğu gibi kabul etmeye meyillidirler ve tüm sistemi yeni bir şekilde kavramsallaştırabilmenin faydalarını görme açısından 'büyük düşünmezler' - devasa bir sistemi modelleyebilirseniz gerçekten görmezler. verimli bir şekilde bellek verimsizlikleri, durmadan benzersiz kısıtlamalar ve yinelenen anahtarlar, saçma verilerle karşılaşmayı bırakmanız olasılığını azaltır çünkü orijinal vizyona göre tasarlamanız çok daha kolay ve daha sonra tüm bu sorunlara girmeyeceksiniz Şimdi, geçmişte yaptığımız işlerden alışılmadık olduğunu bildiğim, ancak kaçınılmaz olarak düşündükleri görünen, deneyimliyoruz.
Peki, bağımlılıkları vurgulayan ve aynı zamanda bir ideale uzun süre bağlı kalmayı sağlama amaçlı bir sistemin ortak bir kavramsal modelini destekleyen bir yazılım paradigması bilen var mı? Şu anda devasa bir karmaşaya sahibiz ve çözüm her sprintin “sadece bu şeye, buraya ve buraya ekle” gibi görünüyor ve işlerin gerçekten dağılmaya başlamasıyla ilgilenen tek kişi benim.