Bir sorun olarak kod yeniden kullanma
Ben düşünüyordum bu soruya yazılım teslimat ve ben konusuna geri gelmeye devam etti tekrarlanabilirlik ve / veya tekrarlanabilirlik . Önemli, çünkü bir projeyi tekrarlamazsanız, o zaman projeyi oluşturmak için kullandığınız süreci iyileştirmek zorlaşır. Mühendislik, daha yüksek kalitede projeler üretmek için tasarım ve inşaat ile ilgili süreçlerin sürekli iyileştirilmesini içerir.
Yazılım, dijital biçimi nedeniyle yeniden kullanıma büyük ölçüde güvenebilir. Bir modülü yeniden yazmak yerine, onu tekrar ararız veya diğer sisteme kopyalarız. Bazı örnekler kimlik doğrulama / giriş veya belki de bir kayıt işlevidir. Bu kategoriler için bilinen birçok örnek vardır ve geleneksel bilgelik , kendinizinkini almak yerine var olanı yeniden kullanmaktır.
Diğer Disiplinlerle Bazı Karşılaştırmalar
İnşaat
Buna karşılık, fiziksel sistemlerin (binalar, köprüler) inşası yeniden kullanılabilecek kadar yakın değildir. Bir evin planının aynı evin kopyasını oluşturmak için birçok kez tekrar kullanılabileceği doğrudur, ancak inşaat her zaman yapılmalıdır. Kes ve yapıştır analog dünyada böyle çalışmaz. Köprü planları, ev koşulları daha az olacağı için evler için daha az tekrar kullanılabilir.
Usta inşaatçılar, bölgelerinde onlarca, yüzlerce veya binlerce şey tasarladıkları ve / veya inşa ettikleri için tanınan uzmanlardır. Örneğin, dünyaca ünlü bir mimar ve tasarımcı olan Frank Lloyd Wrightdesigned more than 1,000 structures and completed 532 works
. Kontrast bununla Anders Hejlsberg tasarlamıştır “sadece” beş dil (Turbo Pascal; Delphi; J ++, C #, daktilo yazısı). Alanlar farklı olduğu için birçok yönden haksız bir karşılaştırma. Ancak geniş bir düzeyde, iki çok zeki insandan ölçülebilir üretim oldukça farklıdır.
Dövüş sanatları
Dövüş sanatçıları, hareketin ustalığının sadece binlerce tekrardan geldiğini söyleyecekler. Bu tekrarların iyi bir kısmı konulduktan sonra, birçok dövüş sanatçısı daha önce karmaşık bir kata veya form olarak algılanmasının nasıl basitleştiğine şaşırıyor. Bu öğrencilerin eğitmenleri ayrıca hareketin nasıl daha akıcı ve maksatlı olduğunu ve hareket ekonomisine sahip olduğunu fark edeceklerdir. Aynı şekilde, deneyimli dövüş sanatçıları, daha az deneyimli öğrencilere göre daha karmaşık kataları daha hızlı toplayabiliyor. Tekrarlamadan elde edilen deneyimler, onlara daha hızlı öğrenmelerini sağlayan bir çerçeve veya süreç vermiştir.
Ağaç
Ağaç işleri benzer bir dönüşüm yaşarlar. Hobi ustaları her zaman çok sayıda çekmece gerektiren ilk projelerine geri dönerler. Projeyi tamamlarlarsa, montaj hatlarının ürettiği verimlilik için yeni bir takdir kazanırlar. Ahşabın kullanımını en üst düzeye çıkarmak için çekmece parçalarının sac stoğuna nasıl yerleştirileceğinin daha iyi anlaşılması gibi başka faydalar da vardır. Hobileri ile karşılaştırıldığında, profesyonel ahşap işçileri daha önce birçok kez yaptıkları eşyaları daha hızlı tasarlayabilir, başlatabilir ve inşa edebilirler. Ayrıca, çalışmalarında bu hatayı yapan bir başkasının tasarımındaki doğal sorunları görme yeteneği kazanırlar.
Öyleyse, yazılımı yeniden kullanmak yazılım geliştiricilerin daha ustalaşmasını önlüyor mu?
Birçok yönden, yazılım tasarımı ve yapımı her zaman yenidir. Geçmiş işleri tekrar etmeyiz, çünkü bir modülü, kütüphaneyi veya sistemi tekrar kullanabilirsek yaparız. Her şeyi sıfırdan yeniden yazmadan önce mevcut bir sistemi tercihli olarak genişletiriz . Ancak tekrarlama, tasarımda ve yapımda verimliliği bulmamızı sağlayan şeydir. Bir spor ya da fiziksel aktivite yapanlar, tekrarlamanın iyi bir uygulayıcı olmanın anahtarı olduğunu söyleyecektir.
Sorum şu: Yazılımın yeniden kullanılabilmesi, bir projenin tekrarlanmasından gelen süreç iyileştirme ve verimliliği gerekli kılıyor mu?