Teknik borç nedir ve bundan kaçınabilir misiniz?

Yazılım geliştirme içindeyseniz, birkaç noktada teknik borçla uğraşmanız gerekecektir. Başlıktaki soruları cevaplamak için … Hayır, onlardan kaçınamazsınız. Bununla birlikte, etkiyi en aza indirmek ve kontrolden çıkmadığından emin olmak için atabileceğiniz birkaç adım vardır. En azından çok kötü. Teknik borç nedir? Teknoloji borcu, bazen belirtildiği gibi, temelde zaman zaman harcadığınız maliyettir, çünkü kusurlu bir kodu vardır. Kaynak kodundaki değişiklikler ve güncellemeler, geliştirme ekibine yeni üyeler eklemenin, yeni özellikler eklemenin veya hataların onarılması ve istismarların yamalanması vardır.
Projeniz büyüdüğünde, kod tabanı gelişiyor ve daha fazla kişi kod üzerinde çalışıyor, sesleri ve stilleri burada ve orada çatışacak. Belki bir zaman tarihiniz ve zamanında tamamlanacak kaynak koduna ideal olmayan bir çözümünüz vardır. Belki de kendiniz kodlamak yerine özellikleri işlemek için tam olarak anlamadığınız açık kaynaklı bir bileşen eklersiniz. Veya kütüphaneyi sürümler arasındaki değiştirebilirsiniz (örneğin omurgadan reaksiyona kadar), ancak yine de projeleri için eski kod tabanını kullanan kişileri desteklemeniz gerekir. Bu kötü şeylerin hiçbiri. Yalnız değil. Belki hiç değil. Ancak birlikte eklendiğinde, neden oldukları teknik borcun gelecekte birkaç noktada geri ödenmesi gerekir.
Belli bir noktada, açık kaynak bileşeninin değiştirilmesi (veya dallanması) gerekebilir. Zaman ve para harcayacak. Gelecekte, projenizdeki tüm omurga kodlarını silmeli ve eski kullanıcıları desteklemeyi bırakmalısınız. Yine, zaman ve para. Son teslim tarihini karşılamak için yama mı yapıyorsun? Bu sonunda iptal edilecek ve daha kalıcı bir gelişme gerektirecektir. Zaman ve para. Ve tüm bunları yapmak için eski koddan dönen ekibinizden yeni üyeleriniz olacak, önceki geliştiricinin kodunu ve mantığını anlamak gerekir. Zaman. Para. Anlıyorsun. Teknik borç genellikle mecazi bir terim olsa da, teknoloji borcunun maliyeti çok gerçektir. Geri ödemenin parasal bir değeri vardır ve çalışma saatleri ve maaş fişinde ödediğiniz ilgiyi izleyebilirsiniz. Bunu tüm yazılım geliştirmenin alt satırında görebilirsiniz. Teknoloji borcundan kaçınabilir misiniz? Daha önce de söylediğim gibi … hayır, hayır. Yayınlandıktan sonra koda geri dönerseniz yazdığınız her projede teknik bir borç alacaksınız. Ancak, teknik borç türünü belirtirseniz, projenizde en aza indirebilir ve hatta hesaplayabilirsiniz. Önce borcu düşünürseniz, araba kredisi veya ipotek almaktan farklı değildir. Maliyetleri, faizleri ve faydaları görürsünüz ve sonra bunun için ödeme yapabileceğinize/ödeyip ödemeyeceğinize karar verirsiniz.
Yukarıda tartıştığımız bazı örneklere bakalım ve maliyetlerden kaçınmanın, en aza indirmenin veya emmenin yolları olup olmadığını görelim. Kasıtlı teknik borç dediğimizde hedefleyen teknik borcu düşünün, demek istediğim, ekibinizin üzerinde çalıştığınız dil veya proje türü için en iyi uygulamaya uygun olmadığını bildiğiniz kararı vermiş olmasıdır. . Önceden, yerine getirilecek bir son tarihin olabileceğini belirttik. Ve belki de o zamanlar son tarih zor ve hızlıydı. Belki olasılık değişme veya değişme olasılığı% 0 vardır. Bu, kredi almayı ve teknik borcu girmeyi düşünmeniz gereken zamandır. Burada gerçekten üç seçeneğiniz var:
Tamamlanmamış ve sorunlu olmayan yazılımı kaldırın, ancak netlik ve kod mantığı için bir imtiyaz yapmıyorsunuz
Mükemmel yönetemeyeceğiniz, ancak sahip olduğunuz şeyleri mümkün olduğunca en iyi şekilde serbest bırakın
Her şeyi çalıştırmak için “yeterince iyi” bir kod yayınlayan bir geliştirme kararı verin, ancak olasılığın daha sonra ele alınması gerekiyor
Buradaki üçüncü seçenek genellikle insan seçimidir. Bu teknik bir borç olacak. Ve bunda yanlış bir şey yok. Çünkü bunu yapmaya karar verirsiniz.
Kodunuzda bu rotayı alma seçimin arkasındaki kararı belgelemeyi amaçlayan borç kredisini geri ödemek. İdeal çözümün ne olduğuna karşı ne yaptığınızı kaydedin. Ve bu borç toplama çözümünün nerede uygulandığını göstermek için kaynak koduna en az birkaç tür yorum eklediğinizden emin olun (ve eğer projenin diğer alanlarında etkilenen sistemi). Bu adımı atmazsanız, bir proje ekleyin (onarım hataları ve yamalarda bile, yeni özelliklerden veya genişletilmiş kod tabanlarından bahsetmemek), tam bir çözüm beklediğinizde patchwork çözümleri bulanarak çok gecikebilir. Sen gerçek bir sorun. Ancak teknik borç hala var ve hesaba katılmalıdır. Diğer genel teknik borç için miras kodunun teknik borcunun göz önüne alındığında, bugün birçok WordPress biriktirilmiştir. WordPress PHP 5.X’de çalışabilir. Ancak en son güncelleme kullanıcıya en az PHP 5.6 olması gerektiğini söyleyecektir. 2019’un sonunda, WP Core PHP 7.X gerektirecektir. Ancak, gereksinimleri yukarı doğru teşvik ederek, birçok eski kod güncellenmelidir. Çünkü eklenti, tema ve çekirdeğin kendisinde hala bir PHP 5.x kodu var.
Yeni blok düzenleyicisinden bahsetmiyorum bile. JavaScript’te yazılmıştır. Özellikle tepki ver. PHP’nin yakınında hiçbir şey yok. Aslında, WordPress çekirdeğinin çoğu yavaş yavaş JavaScript’e yeniden yazılıyor. Ancak tüm bu JS övgü ve PHP ile eşleşmelidir. Yeni teknoloji almak iyidir ve gereksinimlerin yeni sürümlerini benimser. Ancak bunu yaparak, bir süre mevcut yazılımlardan kaynaklanan kaçınılmaz bir teknik borca ​​faiz ödersiniz. Bu miras kodunu geri bildirmek oldukça zordur çünkü bunu yapmanın iyi bir yolu yoktur. Nükleer bir seçenek alabilir ve yeni dil/çerçeve/sürümde aşağıdan yukarıya tam bir yazma yapabilirsiniz (Divi 2 ve Divi 3.0 arasında ne yaptığımızı bkz. Ancak, bu hala borç sorununu tam olarak çözmedi, çünkü hala eski kütüphaneyi kullanan insanlarınız var. Bir noktada, eski kod tabanı için desteği durdurmalısınız. Krediyi geri ödemeyi seven. Bir sonrakini alana kadar.
Bir seçenek değilse (veya sizin için en iyi fikir), dil özel özelliklerine veya sürümlerine güvenmediğinizden emin olabilirsiniz. Ön uç geliştiriciler her zaman karşılaşmalıdır, çünkü bazı tarayıcılar yeni özellikleri hızlı bir şekilde desteklerken, diğerleri (Microsoft Edge/IE, öksürük öksürük) asla benimsemeyebilir. Projenizi gelecekte temel bilgilere dayanarak kanıtlayabilirsiniz, bu da olması gerekenden daha az güncellenirken veya yeniden gerçekleşirken ele alınması gereken değişikliklerin sayısını yapacaktır. Zaman içinde birçok geliştiricinin düşünüldüğünde, büyük bir ekip tarafından zaman zaman küçük bir geliştirme ekibinden daha kötü elde edilme eğiliminde olan bir teknoloji türüdür. Küçük olanların bile endişelenmesi gerekse de. Görüyorsunuz, her yazılım mühendisi kodu farklı şekilde yazar. Çok nadiren aynı sorunu aynı kodla çözen iki geliştiriciniz var. Aynı işlevi yerine getirebilirler ve sonuç aynı olabilir, ancak kod yazarın sesiyle yazılacaktır (örneğin burada bir yazı yazan, örneğin Jason, Nathan, Donjete ve Hepimizin farklı stillerim var). Kod farklı değil.
Bunu hatırlayarak, mantığın bazen farklı bir sesi vardır. Bir geliştiriciye göre çok açık, diğer geliştiriciler kodun neden ne yaptığını görecek ve bilmeyecek. Orijinal yazar artık istişare için mevcut olmadığında bu sorun gerçekten sorunlu hale geliyor. Bunun neden olduğu teknik borç büyük bir felaket olabilir. Ama bunun üstesinden gelmenin bir yolu var. Eski geliştiricinin teknik borcunu yeniden ödemek en kolay yol, en iyi geliştiriciyi işe almak ve asla şirketinizden ayrılmalarına izin vermektir. Bir kere. Zamanın yaklaşık% 100’ü gerçekleşmeyeceğinden, bu borcu geri ödemek düşündüğünüzden biraz daha kolay azalabilir. Her şeyden önce, kodları hakkında yorum yapmak için geliştirme ekibinizi eğittiğinizden emin olun. Ve iyi yorum yapmak. Başkaları tarafından belirsiz olarak kabul edilebilecek kararlar verdiklerinde, neden bunu yaptıklarını ve işlevlerinin nasıl çalıştığını kaydetmelerini isteyin. Buna ek olarak, ekibinizdeki her geliştiricinin stil kılavuzunu veya bir dizi standardı takip ettiğinden emin olun. Core WordPress, eklentiyi, temayı ve çekirdeklerin satır içi katkısını tutacak bir dizi kodlama standardı vardır, böylece daha sonra gelen herkes onunla sorun yaşamayacaktır. Airbnb, tüm endüstrilerde resmi olmayan bir standart olarak kabul edilen React için bir stil kılavuzuna sahiptir. Devsilerinizin çok ileri adım atmasını önlemek için dahili stil rehberi ve standardı bile, böyle bir taahhüt öldürülmeye hazır olmadıkça birleştirilmeyecektir. Teknik borcun sarılması çok gerçek bir sorundur. Nasıl yöneteceğinizi biliyorsanız bu da çok gerçek bir kaynaktır.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir