DRY prensibini biliyoruz ve aktif bir şekilde kullanıyoruz ve şimdi, dahili kütüphaneleri inşa etmek ve sürdürmek için ~ 2,5 yıl geçirdikten sonra, DRY'ye bir iltifat ( alternatif olarak değil ) olarak, ISLAK prensibini tanıtma ihtiyacı duyuyorum.
Takım, geliştirme için WET'i “bir nevi” kullanıyor ancak bu ilke henüz düzgün bir şekilde tanımlanmadı / duyurulmadı / kasıtlı olarak uygulanmadı.
Unutulmaması gereken önemli: WET prensibi, şu anda onu tanıtma şeklim, yalnızca yeniden kullanılabilir bileşenler için geçerlidir: izole edilmiş, bağımsız iş mantığına sahip daha büyük kod parçaları veya potansiyel olarak yeniden kullanılabilir UI bileşenleri.
Çekirdek kitaplığımızda yeterince olgun olmayan birkaç bileşenimiz var, bileşenlerin amacı açık, yeniden kullanılabilirlik kesinlikle yoldur ancak dahili parametreler (API'ler), adlandırma kuralları düşünülmemiş ve ürüne özeldir, bu da yeniden kullanılabilirlik sağlar neredeyse imkansız. Bu bileşenler, farklı bir ürüne ( burada ürün : belirli bir alan için belirli bir amaçla oluşturulmuş ayrı, eksiksiz, bağımsız bir uygulama) sunulduğunda yuvarlak deliklerdeki kare mandallar gibi hissedilir .
Bu sorun, erken optimizasyon, uygulamanın içerdiği parçaların yeniden kullanım amacıyla erken çıkarılmasıyla bağlantılıdır.
Geriye dönük analize dayalı olarak, ekip tam olarak şu konularda KURU sorunları yaşıyor: bağımsız ve ürüne özgü (ekstraksiyon anında) mantığa sahip büyük işlevsel parçaların olgunlaşmamış çıkarılmasıyla. Daha küçük hizmetlerin ve sınıf düzeyindeki yöntemlerin kurutulması teşvik edilir ve çoğu zaman sorunsuz geçer.
Kendinize "Bunu daha önce yazmadım mı?" Diye sorabilirsiniz. iki kez, ama asla üç. ( kaynaklarda [1] 'e bakın )
Amaç, bir bileşen kitaplığı için yeniden kullanılabilir bir bileşene ayıklamayı düşünmeden önce , aynı mantığa sahip bir sınıfın en az 2 ayrı ürün için bağımsız olarak yazıldığından emin olmaktır . Bu şekilde, yeniden kullanılabilir bileşenlerimiz daha olgun, daha kararlı olacak, genelleştirilmiş parametrelere / adlara / dahili bileşenlere sahip olacak ve potansiyel olarak kırılma bir yeniden düzenleme ihtiyacını önemli ölçüde azaltacaktır.
Tüm bunları söyledikten sonra, karmaşıklıkları bilmek önemlidir. Cevap
DRY or WET?olmalı
it depends., koşullar önemlidir ve yazılım geliştirme ilkelerine dini olarak uyulmamalıdır.
Standartlaştırılmış ve mükemmel hale getirilmiş ISLAK prensibi ile, tüm yeniden kullanılabilir bileşenlerin Açık-Kapalı prensibini takip etmesi gerekir .
Yeniden kullanılabilir bileşen, kullanıldığı bir ürün bağlamında değil, yalnızca kendi bağlamı içinde güncellenmeli, korunmalı ve geliştirilmelidir. Tüm ürüne özgü davranışsal veya mantıksal ayarlamalar, yeniden kullanılabilir bileşenin soyut bir temel ürün olduğu uzantı yoluyla yapılmalıdır. -özel sarmalayıcı, işlevselliğini.
Geliştirmenin çoğunun, klasik OOP yapılarına ve yerleşik araçlara sahip olmayan vanilya JavaScript ile yapıldığı göz önüne alındığında, açıkça iletişim / belgeleme yoluyla Açık-Kapalı'ya yardımcı olacak TypeScript gibi harici yorumlayıcıları / aktarıcıları değerlendirmemiz ve muhtemelen entegre etmemiz gerekecektir. türleri ve arayüzleri olan bileşen API'leri.
[1] https://dev.to/wuz/stop-trying-to-be-so-dry-instead-write-everything-twice-wet-5g33
[2] https://overreacted.io/the-wet-codebase/
Teknoloji dünyasında, işletmeler sürekli olarak siber suçluların şeytani faaliyetlerinin tuzağına düşme riski altındadır. Endişe verici derecede sık hale gelen böyle bir taktik, kimlik bilgilerini doldurmaktır.
Modern veri bulutunun içinde ve sırada ne var? Veri adası sorunları ve ilk 8 trend Prelude Data Cloud uçsuz bucaksız bir alemdir.
"En sıcak aşk, en soğuk sona sahiptir." — Yunan filozofu Sokrates “Aşk, iki bedende yaşayan tek bir ruhtan oluşur.
COVID-19 salgınının Grand Rapids şehri ve sakinleri üzerinde derin bir etkisi oldu. Virüs 2020'nin başlarında ilk ortaya çıktığında, topluluktaki birçok kişi başlangıçta ciddiyetine ve yayılmasını kontrol etmek için katı önlemlere duyulan ihtiyaç konusunda şüpheciydi.
Bir zamanlar bir blog yazmıştım… Ta 2016 yılının Temmuz ayında bir blog yazmaya başlamıştım. Bu blog.
İnsanlara şans verme konusunda hayatta biraz geç kalındığına inanıyorum. Cömertçe.