Bunun cevabı basittir.
Tutarlılık çok önemlidir.
ama bir ihtarla geliyor ...
Siz ve iş arkadaşınız büyük olasılıkla yanlış tutarlılık türüne takıntılısınız.
Uygulamalar tek kullanımlıktır. Test takımının kalitesine ve anlaşılırlığına bağlı olarak çeşitli derecelerde kolaylıkla yenilenebilirler. "Bu bir özellik mi olmalı?" şüpheli değerde. Tüm ölçümleri uygulama seviyesindeki tutarlılık değerine bağlamak zordur. Bu seviyede sorulacak daha iyi bir soru "Bu kod tanıtıldığı gibi çalışıyor mu?" TL; DR uygulama tutarlılığı “küçük beyinler” in hobgoblin'leri kullandığı yerdir.
Neden tutarlılık bu kadar önemli değil? Uygulamaların genellikle az sayıda katkısı vardır. Çoğu yöntem yazılır ve bir daha asla dokunulmaz. Kalan koddan iki katkısı olan yöntemlerin sayısı neredeyse kesinlikle çoğunluktur. Bu kalıp adinituma devam ediyor . Bu bağlamda tutarlılık sadece önemli değil. Kuralların raf ömrü oldukça küçükse ( birkaç yıl ) agresif tutarlılıktan kazançlar büyük olasılıkla bir faktör değildir.
Bu, uygulamalarınızda delirmeniz gerektiğini söylemek değildir. Bunun yerine, güzel, temiz, basit bir tasarımın, varsayımsal geleceğiniz için aptal kazan plakası tutarlılık yöntemine göre metottan daha değerli olduğu söylenebilir. Bu bizi gerçek noktaya götürür ...
API'ler tek kullanımlık değildir.
Bunların hepsi API kod seviyesi, web servisleri, SDK'lar vb. Bunlar tutarlı olmalı, GEREKİR. Bu çeşitlilikteki tutarlılıktan elde edilen üretkenlik birçok nedenden ötürü çok büyüktür:
Entegrasyon Testleri:
API'nizi tutarlı tutarsanız entegrasyon testlerinin takımlarını oluşturabilirsiniz. Bu, geliştiricilerin uygulama ayrıntılarını serbestçe değiştirmelerini ve derhal doğrulanmalarını sağlar. Ortak çalışma saçmalıklarını LINQ ile değiştirmek ister misin? Entegrasyon testleri çalışıyor mu? Ayrıca üretime geçmeye hazırlanırken doğrulama sağlar. Bilgisayarlar hızlı olduğu için, tek bir dizüstü bilgisayar sıradan görevleri yerine getiren bin testçinin çalışmasını önceden yapabilir. Kuruluşunuzun çalışan sayısının önemli ölçüde artması esastır.
verimlilik
API'ler tutarlı olduğunda, yalnızca API'nin diğer bölümlerini kullanma hakkında öğrendiklerinizi takip ederek bir API'nin nasıl kullanılacağı hakkında tahminlerde bulunabilirsiniz. Bunun nedeni, API'nin doğal, tutarlı bir "görünüm ve his" sağlamasıdır. Bu, müşterinizin dokümantasyon yoluyla eleme yapmak için daha az zaman harcadığı anlamına gelir. Gemiye binmek daha kolay ve ucuzdur. API'yi geliştiren kişilere daha az soru sorulur. Tutarlılık herkesin kazanmasını sağlar
Bu senaryoda tutarlılık neden önemlidir? Çünkü API'lerin tam tersi uygulama problemleri var. Bunları kullanan insanların sayısı, uygulamalarına katkıda bulunan kişilerin sayısından genellikle daha fazladır. Küçük bir tutarlılıktan elde edilen küçük kazançlar çarpılır ve bu tutarlılığın sağlanmasının maliyetleri itfa edilir.
Sonuç
Tutarlılık pahalıdır. Yüzünde verimliliği düşürüyor. Geliştiricileri kısıtlar ve hayatlarını zorlaştırır. Bir problemi çözme şekillerine, bazen onları optimal olmayan bir yolla çözmeye zorlar. Bu, genellikle anlamadıkları, yanlış gebe kaldıkları veya mahrem olmadıkları (sözleşmeler, daha büyük organizasyonel veya organizasyonlar arası politikalar) nedeniyledir.
Raymond Hettinger, Pycon 2015'teki konuşmasında python programcılarının ekipleri için PEP8 stil rehberinin kullanılmasıyla ilgili bazı mükemmel puanlar aldı. Bir kod parçasında stilistik tutarlılık saplantısının, kod eleştirmenlerinin ciddi mantık ve tasarım kusurlarını özlemesine neden olduğunu gösterdi. Onun hipotezi, stilistik tutarsızlıkları bulmak kolay olduğu için özetlenebilir ; bir kod parçasının gerçek kalitesini belirlemek zordur
Buradaki nokta kritik. Tutarlılığın nerede önemli olduğunu belirleyin ve agresif bir şekilde koruyun. Önemli olmadığı zaman, zamanınızı boşa harcamayın. Tutarlılık değerini ölçmenin nesnel bir yolunu sağlayamıyorsanız (yukarıdaki durumlarda "etkin çalışan sayısı", verimliliğin bir fonksiyonu olarak maliyet) ve getirilerin önemli olduğunu gösteremezseniz, muhtemelen kuruluşunuz.