Bu madde veya sayfa başka bir dilden kötü bir biçimde tercüme edilmiştir. Sayfa makine çevirisi veya dilde yetkinliği bulunmayan bir çevirmen tarafından oluşturulmuş olabilir. (Ekim 2024) |
Yazılım geliştirme (ve genel olarak bilgisayar programlama) bağlamında, kod tekrar kullanımı, ya da yazılım tekrar kullanımı, mevcut yazılım, veya yazılım bilgisinin yeni yazılımlar oluşturmak için kullanılmasıdır,(s7) bu süreç dayanır.
Kod tekrar kullanımı, seçilen programlama dilinin karmaşıklığına bağlı olarak çeşitli yollarla gerçekleştirilebilir ve basit kod (örneğin, aracılığıyla) gibi daha düşük seviyeli yaklaşımlardan, basit fonksiyonlar (prosedürler veya ) veya bir dizi veya modüller (örneğin, ):7 ya da özel , paketler, veya daha yüksek seviyelerde yazılım paketilerle uzanabilir.
Kod tekrar kullanımı, kod bakımını zorlaştırabilecek bağımlılıklar içerir.[] En az bir çalışma, kod tekrar kullanımının azalttığını bulmuştur.
Genel bakış
Ad hoc kod tekrar kullanımı, programlamanın ilk günlerinden beri uygulanmaktadır. Programcılar her zaman kodun, şablonların, fonksiyonların ve prosedürlerin bölümlerini tekrar kullanmışlardır. Ancak, yazılım tekrar kullanımı, yazılım mühendisliğinde tanınan bir çalışma alanı olarak yalnızca 1968'de 'un Bell Laboratuvarları'nda yeniden kullanılabilir bileşenlere dayanan bir yazılım endüstrisi önerdiği zaman ortaya çıkmıştır. Kod tekrar kullanımı, yazılım ürünü geliştirme sürecinde zaten bir şekilde oluşturulmuş varlıklardan faydalanarak zaman ve kaynak tasarrufu sağlamayı ve azaltmayı hedefler. Tekrar kullanımındaki ana fikir, bir seferde yazılmış olan bilgisayar programı parçalarının, daha sonra yazılacak diğer programların inşasında kullanılabileceği veya kullanılmasının gerektiğidir. Kod tekrar kullanımı, yeniden kullanılabilir varlıkların ayrı bir şekilde bakımının yapılmasını gerektirebilir. Kod, tekrar kullanmak için en yaygın seçilen kaynak olsa da, geliştirme sürecinde üretilen diğer varlıklar da yeniden kullanım fırsatları sunabilir: yazılım bileşenleri, test setleri, tasarımlar, belgeler vb.
, kod tekrar kullanımının iyi bir örneğidir. Programcılar, programlarının belirli kısımlarının tekrar kullanılabilmesi için içsel soyutlamalar oluşturmayı seçebilir veya kendi kullanımına yönelik özel kütüphaneler oluşturabilir. Yazılımın daha kolay yeniden kullanılabilir hale gelmesini sağlayan bazı özellikler şunlardır: , , yüksek , bilgi gizleme ve .
Yeni yazılmış bir kodun mevcut bir kod parçasını kullanabilmesi için, bir tür veya iletişim yöntemi tanımlanmalıdır. Bunlar genellikle bir , , veya prototip kullanımını içerir. Kurumlarda, bu tür uygulamalar (diğer adıyla mühendisliği) tarafından resmileştirilir ve standart hale getirilir.
Mevcut bir programın önceki versiyonunu bir sonraki versiyon için başlangıç noktası olarak kullanma genel uygulaması da bir kod tekrar kullanım biçimidir.
Sözde kod "tekrar kullanımı", mevcut bir programdan bir kısmını veya tamamını yeni bir programa kopyalamaktan ibarettir. Bu yaklaşım, organizasyonların yeni bir ürün için avantajları elde etmesini sağlasa da, sonrasında nedeniyle ortaya çıkan birçok aynı sorunuyla karşılaşabilirler.
Birçok araştırmacı, tekrar kullanımı daha hızlı, daha kolay, daha sistematik ve programlama sürecinin normal bir parçası haline getirmek için çalışmıştır. Bu, nesne yönelimli programlamanın icadının arkasındaki ana hedeflerden biridir ve bu, resmi olarak yeniden kullanımın en yaygın biçimlerinden biri haline gelmiştir. Biraz daha sonra geliştirilen bir başka icat da .
Bir diğer, daha yeni yöntem, yazılım "" kullanmaktır; bu, kullanıcıların seçtiği bir dizi parametreye dayalı olarak belirli bir türde yeni programlar oluşturabilen programlardır. Bu tür sistemler üzerine yapılan çalışmalar ise ve alanlarıdır.
Tekrar Kullanım Türleri
Motivasyon ve etkenler açısından, tekrar kullanım şu şekillerde olabilir:
- Fırsatçı – Bir projeye başlamak üzere hazırlık yaparken, ekip mevcut bileşenlerin yeniden kullanılabileceğini fark eder.
- Planlı – Bir ekip, bileşenleri gelecekteki projelerde yeniden kullanılabilecek şekilde stratejik olarak tasarlar.
Tekrar kullanım daha da sınıflandırılabilir:
- Dahili tekrar kullanım – Bir ekip, kendi bileşenlerini yeniden kullanır. Bu, projenin kritik bir bileşenini kontrol etmek isteyen ekip için bir iş kararı olabilir.
- Harici tekrar kullanım – Bir ekip, üçüncü taraf bir bileşeni lisanslamayı tercih edebilir. Üçüncü taraf bir bileşeni lisanslamak, genellikle ekibe, dahili olarak geliştirmeye kıyasla %1 ila %20 arasında bir maliyet getirir. Ekip ayrıca bileşeni bulma, öğrenme ve entegre etme süresini de göz önünde bulundurmalıdır.
Tekrar kullanımın formu veya yapısı açısından, kod şu şekillerde olabilir:
- Referanslı – İstemci kodu, yeniden kullanılan koda bir referans içerir ve bu nedenle ayrı yaşam döngülerine sahip olabilirler ve farklı versiyonlara sahip olabilirler.
- Fork edilmiş – İstemci kodu, yeniden kullanılan kodun yerel veya özel bir kopyasını içerir ve bu nedenle tek bir yaşam döngüsüne ve tek bir versiyona sahip olurlar.
Fork-edilmiş tekrar kullanımı genellikle teşvik edilmez çünkü bu, kod tekrarının bir biçimidir; bu durumda her hatanın her kopyada düzeltilmesi gerekir ve yeniden kullanılan kodda yapılan iyileştirmelerin her kopyada manuel olarak birleştirilmesi ya da güncel kalmamaları gerekir. Ancak, fork-edilmiş tekrar kullanımın izolasyon, yeniden kullanılan kodu değiştirme esnekliği, daha kolay paketleme, dağıtım ve versiyon yönetimi gibi avantajları olabilir.
Sistematik
Sistematik yazılım tekrar kullanımı, verimliliği artırma ve yazılım endüstrisinin kalitesini iyileştirme stratejisidir. Kavram olarak basit olmasına rağmen, başarılı yazılım tekrar kullanımı uygulaması pratikte zordur. Bunun nedeni, yazılım tekrar kullanımının uygulandığı bağlama bağımlılığıdır. Sistematik yazılım tekrar kullanımı ile ilgili ele alınması gereken bazı sorunlar şunlardır:
- Belirgin ve iyi tanımlanmış bir ürün vizyonu, bir (SPL) için temel bir gerekliliktir.
- Evrimsel bir uygulama stratejisi, şirket için daha pragmatik bir strateji olacaktır.
- Başarıyı sağlamak için sürekli yönetim desteği ve liderliğine ihtiyaç vardır.
- SPL mühendisliğini destekleyecek uygun bir örgütsel yapı gereklidir.
- Proje odaklı bir şirketten ürün odaklı bir şirkete geçiş zihniyeti önemlidir.
Örnekler
Yazılım Kütüphaneleri
Kodun yeniden kullanımı ile ilgili çok yaygın bir örnek, yazılım kütüphanesinin kullanılmasıdır. Bilgiyi farklı tanınmış formatlar arasında dönüştürmek, harici depolama alanına erişmek, dış programlarla arayüz oluşturmak veya bilgileri (sayılar, kelimeler, isimler, yerler, tarihler vb.) yaygın şekillerde manipüle etmek gibi birçok yaygın işlem, farklı programlar tarafından gereklidir. Yeni program yazarları, bu görevleri yerine getirmek için tamamen yeni kod yazmak yerine, bir yazılım kütüphanesindeki kodu kullanabilirler; bu, "tekerleği yeniden icat etmemek" anlamına gelir. Kütüphane uygulamaları genellikle iyi test edilmiştir ve alışılmadık veya karmaşık durumları kapsama avantajına sahiptir. Dezavantajları arasında ise performansı veya istenen çıktıyı etkileyebilecek detayları ayarlama imkânının olmaması ve kütüphanenin edinilmesi, öğrenilmesi ve yapılandırılmasının zaman ve maliyet gerektirmesi yer alır.
Tasarım Desenleri
Tasarım deseni, tekrarlayan bir probleme genel bir çözüm sunar. Tasarım desenleri, somut olandan çok daha kavramsaldır ve belirli ihtiyaçlara göre değiştirilebilir. Ancak, belirli desenleri uygulamak için soyut sınıflar ve arayüzler yeniden kullanılabilir.
Çerçeveler
Geliştiriciler, genellikle üçüncü taraf uygulamalar ve çerçeveler aracılığıyla büyük yazılım parçalarını yeniden kullanır; ancak çerçeveler genellikle alan bazlıdır ve yalnızca belirli uygulama ailelerine uygulanabilir[].
Yüksek Düzey Fonksiyon
Fonksiyonel programlamada yüksek düzey fonksiyonlar, tasarım desenleri veya çerçevelerin daha önce kullanıldığı birçok durumda kullanılabilir.
Retro Hesaplama
, eski bilgisayarlarda veya bunlar için emülatörlerde çalıştırılan retro programlar nedeniyle kodun yeniden kullanımını kapsar.
Bilgisayar Güvenliği
Bilgisayar güvenliği alanında, kod yeniden kullanımı bir yazılım istismar yöntemi olarak kullanılır. Bir saldırgan, örneğin gibi kod enjeksiyonu savunmaları bulunduğunda, bir programın kontrol akışını doğrudan değiştiremediğinde, kontrol akışını bellekte mevcut kod dizilerine yönlendirebilir.
Kod yeniden kullanım saldırılarına örnekler arasında , ve yer alır. Sure! Here’s the translation of the provided text into Turkish:
Bileşenler
Bir bileşen, nesne yönelimli bir bağlamda, bir dizi işbirlikçi sınıfı (ya da yalnızca bir sınıfı) ve onun arayüzlerini temsil eder. Arayüzler, bileşenlerin değiştirilmesini sağlamakla sorumludur. Yeniden kullanılabilir bileşenler, bileşen kaynak kodu yönetim teknolojileri (CSCM) kullanılarak izole edilebilir ve SCM depoları arasında senkronize edilebilirler.[]
Bilgisayar Dışında
" Kodun yeniden kullanımı" kavramı, yazılımın dışındaki mühendislik uygulamalarını da kapsayabilir. Örneğin, bilgisayar destekli tasarımda yeniden kullanılabilir tasarımlar oluşturmayı sağlar. Standartlaştırma, birçok bağlamda yeniden kullanılabilecek, birbirleriyle uyumlu parçaların yaratılmasına yol açar.[]
Eleştiri
Kodun yeniden kullanımı, yeniden kullanılan bileşene yaratır. Rob Pike, "Biraz kopyalama, biraz bağımlılıktan iyidir" görüşündedir. Google'a katıldığında, şirket kodun yeniden kullanımına büyük önem veriyordu. Google’ın , derleme hızı ve sürdürülebilirlik açısından bu eski politikanın sonuçlarından hâlâ etkilendiğine inanmaktadır.
Yeniden kullanılabilir kod genellikle yazılması ve tasarlanması daha fazla çaba gerektirir. Fred Brooks, bu çabanın neden olduğu önemli maliyetin, "Çamur Tuzağı" ve "" adlı denemelerinde tartışmaktadır. Yanılgı, çabanın çoğunlukla, bu maliyetin nasıl geri kazanılacağı mekanizmaları dikkatlice anlaşılmadan harcandığıdır. Gerekçe genellikle, fiziksel bir üretim sürecindeki yeniden kullanılabilir parçalarla yanlış paraleller çizilerek elde edilir. Yanlış, çünkü kod yazmak, bir ürünün tasarımına benzer, çok sayıda birimin üretilmesine değil.
Ayrıca bakınız
Kaynakça
- ^ Frakes, W.B.; Kyo Kang (July 2005). "Software Reuse Research: Status and Future". IEEE Transactions on Software Engineering. 31 (7). ss. 529-536. CiteSeerX 10.1.1.75.635 $2. doi:10.1109/TSE.2005.85.
- ^ a b Reddy, Martin (2011). API design for C++. Boston: Morgan Kaufmann. ISBN . OCLC 704559821.
- ^ Selaolo, Karabo; Hlomani, Hlomani (2016). "Towards An Algorithms Ontology Cluster: for Modular Code Reuse and Polyglot Programming". Advances in Computer Science. Cilt 5. s. 63 – Researchgate vasıtasıyla.
- ^ "4. Code Reuse: Functions and Modules - Head First Python, 2nd Edition [Book]". www.oreilly.com (İngilizce). 26 Ocak 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ocak 2022.
- ^ Feitosa, Daniel; Ampatzoglou, Apostolos; Gkortzis, Antonios; Bibi, Stamatia; Chatzigeorgiou, Alexander (September 2020). "CODE reuse in practice: Benefiting or harming technical debt" (PDF). Journal of Systems and Software (İngilizce). Cilt 167. s. 110618. doi:10.1016/j.jss.2020.110618. 13 Nisan 2024 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 26 Ekim 2024.
- ^ Lombard Hill Group. "Yazılım Tekrar Kullanımı Nedir?". lombardhill.com. Lombard Hill Group. 23 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Ekim 2014.
- ^ Lombard Hill Group. "Yazılım Tekrar Kullanımı Nedir?". 23 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Ekim 2014.
- ^ McConnell, Steve (1996). Rapid Development: Taming Wild Software Schedules. Pearson Education. ISBN . Geçersiz
|url-erişimi=registration() - ^ Champman, M.; Van der Merwe, Alta (2008). "Contemplating Systematic Software Reuse in a Small Project-centric Company". Proceeding SAICSIT '08 Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries: riding the wave of technology. doi:10.1145/1456659.1456662. ISBN . Geçersiz
|url-erişimi=subscription() - ^ "Kodun Yeniden Kullanımı". DocForge. 10 Temmuz 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Haziran 2025.
- ^ a b Bletsch, Tyler (2011). Kod Yeniden Kullanım Saldırıları: Yeni Sınırlar ve Savunmalar. North Carolina State University. ISBN . 16 Kasım 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2024.
- ^ Bletsch, Tyler; Jiang, Xuxian; Freeh, Vince W; Liang, Zhenkai (2011). "Jump-oriented programming: a new class of code-reuse attack" (PDF). Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security. ACM. ss. 30-40. doi:10.1145/1966913.1966919. ISBN . 7 Ağustos 2017 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 7 Ağustos 2017.
- ^ The Go Programming Language (1 Aralık 2015), Go Aforizmaları – Rob Pike – Gopherfest – 18 Kasım 2015, 22 Aralık 2021 tarihinde kaynağından arşivlendi, erişim tarihi: 26 Şubat 2016
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu madde veya sayfa baska bir dilden kotu bir bicimde tercume edilmistir Sayfa makine cevirisi veya dilde yetkinligi bulunmayan bir cevirmen tarafindan olusturulmus olabilir Lutfen ceviriyi gelistirmek icin yardim edin Ekim 2024 Yazilim gelistirme ve genel olarak bilgisayar programlama baglaminda kod tekrar kullanimi ya da yazilim tekrar kullanimi mevcut yazilim veya yazilim bilgisinin yeni yazilimlar olusturmak icin kullanilmasidir s7 bu surec dayanir Kod tekrar kullanimi secilen programlama dilinin karmasikligina bagli olarak cesitli yollarla gerceklestirilebilir ve basit kod ornegin araciligiyla gibi daha dusuk seviyeli yaklasimlardan basit fonksiyonlar prosedurler veya veya bir dizi veya moduller ornegin 7 ya da ozel paketler veya daha yuksek seviyelerde yazilim paketilerle uzanabilir Kod tekrar kullanimi kod bakimini zorlastirabilecek bagimliliklar icerir kaynak belirtilmeli En az bir calisma kod tekrar kullaniminin azalttigini bulmustur Genel bakisAd hoc kod tekrar kullanimi programlamanin ilk gunlerinden beri uygulanmaktadir Programcilar her zaman kodun sablonlarin fonksiyonlarin ve prosedurlerin bolumlerini tekrar kullanmislardir Ancak yazilim tekrar kullanimi yazilim muhendisliginde taninan bir calisma alani olarak yalnizca 1968 de un Bell Laboratuvarlari nda yeniden kullanilabilir bilesenlere dayanan bir yazilim endustrisi onerdigi zaman ortaya cikmistir Kod tekrar kullanimi yazilim urunu gelistirme surecinde zaten bir sekilde olusturulmus varliklardan faydalanarak zaman ve kaynak tasarrufu saglamayi ve azaltmayi hedefler Tekrar kullanimindaki ana fikir bir seferde yazilmis olan bilgisayar programi parcalarinin daha sonra yazilacak diger programlarin insasinda kullanilabilecegi veya kullanilmasinin gerektigidir Kod tekrar kullanimi yeniden kullanilabilir varliklarin ayri bir sekilde bakiminin yapilmasini gerektirebilir Kod tekrar kullanmak icin en yaygin secilen kaynak olsa da gelistirme surecinde uretilen diger varliklar da yeniden kullanim firsatlari sunabilir yazilim bilesenleri test setleri tasarimlar belgeler vb kod tekrar kullaniminin iyi bir ornegidir Programcilar programlarinin belirli kisimlarinin tekrar kullanilabilmesi icin icsel soyutlamalar olusturmayi secebilir veya kendi kullanimina yonelik ozel kutuphaneler olusturabilir Yazilimin daha kolay yeniden kullanilabilir hale gelmesini saglayan bazi ozellikler sunlardir yuksek bilgi gizleme ve Yeni yazilmis bir kodun mevcut bir kod parcasini kullanabilmesi icin bir tur veya iletisim yontemi tanimlanmalidir Bunlar genellikle bir veya prototip kullanimini icerir Kurumlarda bu tur uygulamalar diger adiyla muhendisligi tarafindan resmilestirilir ve standart hale getirilir Mevcut bir programin onceki versiyonunu bir sonraki versiyon icin baslangic noktasi olarak kullanma genel uygulamasi da bir kod tekrar kullanim bicimidir Sozde kod tekrar kullanimi mevcut bir programdan bir kismini veya tamamini yeni bir programa kopyalamaktan ibarettir Bu yaklasim organizasyonlarin yeni bir urun icin avantajlari elde etmesini saglasa da sonrasinda nedeniyle ortaya cikan bircok ayni sorunuyla karsilasabilirler Bircok arastirmaci tekrar kullanimi daha hizli daha kolay daha sistematik ve programlama surecinin normal bir parcasi haline getirmek icin calismistir Bu nesne yonelimli programlamanin icadinin arkasindaki ana hedeflerden biridir ve bu resmi olarak yeniden kullanimin en yaygin bicimlerinden biri haline gelmistir Biraz daha sonra gelistirilen bir baska icat da Bir diger daha yeni yontem yazilim kullanmaktir bu kullanicilarin sectigi bir dizi parametreye dayali olarak belirli bir turde yeni programlar olusturabilen programlardir Bu tur sistemler uzerine yapilan calismalar ise ve alanlaridir Tekrar Kullanim TurleriMotivasyon ve etkenler acisindan tekrar kullanim su sekillerde olabilir Firsatci Bir projeye baslamak uzere hazirlik yaparken ekip mevcut bilesenlerin yeniden kullanilabilecegini fark eder Planli Bir ekip bilesenleri gelecekteki projelerde yeniden kullanilabilecek sekilde stratejik olarak tasarlar Tekrar kullanim daha da siniflandirilabilir Dahili tekrar kullanim Bir ekip kendi bilesenlerini yeniden kullanir Bu projenin kritik bir bilesenini kontrol etmek isteyen ekip icin bir is karari olabilir Harici tekrar kullanim Bir ekip ucuncu taraf bir bileseni lisanslamayi tercih edebilir Ucuncu taraf bir bileseni lisanslamak genellikle ekibe dahili olarak gelistirmeye kiyasla 1 ila 20 arasinda bir maliyet getirir Ekip ayrica bileseni bulma ogrenme ve entegre etme suresini de goz onunde bulundurmalidir Tekrar kullanimin formu veya yapisi acisindan kod su sekillerde olabilir Referansli Istemci kodu yeniden kullanilan koda bir referans icerir ve bu nedenle ayri yasam dongulerine sahip olabilirler ve farkli versiyonlara sahip olabilirler Fork edilmis Istemci kodu yeniden kullanilan kodun yerel veya ozel bir kopyasini icerir ve bu nedenle tek bir yasam dongusune ve tek bir versiyona sahip olurlar Fork edilmis tekrar kullanimi genellikle tesvik edilmez cunku bu kod tekrarinin bir bicimidir bu durumda her hatanin her kopyada duzeltilmesi gerekir ve yeniden kullanilan kodda yapilan iyilestirmelerin her kopyada manuel olarak birlestirilmesi ya da guncel kalmamalari gerekir Ancak fork edilmis tekrar kullanimin izolasyon yeniden kullanilan kodu degistirme esnekligi daha kolay paketleme dagitim ve versiyon yonetimi gibi avantajlari olabilir SistematikSistematik yazilim tekrar kullanimi verimliligi artirma ve yazilim endustrisinin kalitesini iyilestirme stratejisidir Kavram olarak basit olmasina ragmen basarili yazilim tekrar kullanimi uygulamasi pratikte zordur Bunun nedeni yazilim tekrar kullaniminin uygulandigi baglama bagimliligidir Sistematik yazilim tekrar kullanimi ile ilgili ele alinmasi gereken bazi sorunlar sunlardir Belirgin ve iyi tanimlanmis bir urun vizyonu bir SPL icin temel bir gerekliliktir Evrimsel bir uygulama stratejisi sirket icin daha pragmatik bir strateji olacaktir Basariyi saglamak icin surekli yonetim destegi ve liderligine ihtiyac vardir SPL muhendisligini destekleyecek uygun bir orgutsel yapi gereklidir Proje odakli bir sirketten urun odakli bir sirkete gecis zihniyeti onemlidir OrneklerYazilim Kutuphaneleri Kodun yeniden kullanimi ile ilgili cok yaygin bir ornek yazilim kutuphanesinin kullanilmasidir Bilgiyi farkli taninmis formatlar arasinda donusturmek harici depolama alanina erismek dis programlarla arayuz olusturmak veya bilgileri sayilar kelimeler isimler yerler tarihler vb yaygin sekillerde manipule etmek gibi bircok yaygin islem farkli programlar tarafindan gereklidir Yeni program yazarlari bu gorevleri yerine getirmek icin tamamen yeni kod yazmak yerine bir yazilim kutuphanesindeki kodu kullanabilirler bu tekerlegi yeniden icat etmemek anlamina gelir Kutuphane uygulamalari genellikle iyi test edilmistir ve alisilmadik veya karmasik durumlari kapsama avantajina sahiptir Dezavantajlari arasinda ise performansi veya istenen ciktiyi etkileyebilecek detaylari ayarlama imkaninin olmamasi ve kutuphanenin edinilmesi ogrenilmesi ve yapilandirilmasinin zaman ve maliyet gerektirmesi yer alir Tasarim Desenleri Tasarim deseni tekrarlayan bir probleme genel bir cozum sunar Tasarim desenleri somut olandan cok daha kavramsaldir ve belirli ihtiyaclara gore degistirilebilir Ancak belirli desenleri uygulamak icin soyut siniflar ve arayuzler yeniden kullanilabilir Cerceveler Gelistiriciler genellikle ucuncu taraf uygulamalar ve cerceveler araciligiyla buyuk yazilim parcalarini yeniden kullanir ancak cerceveler genellikle alan bazlidir ve yalnizca belirli uygulama ailelerine uygulanabilir kaynak belirtilmeli Yuksek Duzey Fonksiyon Fonksiyonel programlamada yuksek duzey fonksiyonlar tasarim desenleri veya cercevelerin daha once kullanildigi bircok durumda kullanilabilir Retro Hesaplama eski bilgisayarlarda veya bunlar icin emulatorlerde calistirilan retro programlar nedeniyle kodun yeniden kullanimini kapsar Bilgisayar Guvenligi Bilgisayar guvenligi alaninda kod yeniden kullanimi bir yazilim istismar yontemi olarak kullanilir Bir saldirgan ornegin gibi kod enjeksiyonu savunmalari bulundugunda bir programin kontrol akisini dogrudan degistiremediginde kontrol akisini bellekte mevcut kod dizilerine yonlendirebilir Kod yeniden kullanim saldirilarina ornekler arasinda ve yer alir Sure Here s the translation of the provided text into Turkish Bilesenler Bir bilesen nesne yonelimli bir baglamda bir dizi isbirlikci sinifi ya da yalnizca bir sinifi ve onun arayuzlerini temsil eder Arayuzler bilesenlerin degistirilmesini saglamakla sorumludur Yeniden kullanilabilir bilesenler bilesen kaynak kodu yonetim teknolojileri CSCM kullanilarak izole edilebilir ve SCM depolari arasinda senkronize edilebilirler kaynak belirtilmeli Bilgisayar Disinda Kodun yeniden kullanimi kavrami yazilimin disindaki muhendislik uygulamalarini da kapsayabilir Ornegin bilgisayar destekli tasarimda yeniden kullanilabilir tasarimlar olusturmayi saglar Standartlastirma bircok baglamda yeniden kullanilabilecek birbirleriyle uyumlu parcalarin yaratilmasina yol acar kaynak belirtilmeli ElestiriKodun yeniden kullanimi yeniden kullanilan bilesene yaratir Rob Pike Biraz kopyalama biraz bagimliliktan iyidir gorusundedir Google a katildiginda sirket kodun yeniden kullanimina buyuk onem veriyordu Google in derleme hizi ve surdurulebilirlik acisindan bu eski politikanin sonuclarindan hala etkilendigine inanmaktadir Yeniden kullanilabilir kod genellikle yazilmasi ve tasarlanmasi daha fazla caba gerektirir Fred Brooks bu cabanin neden oldugu onemli maliyetin Camur Tuzagi ve adli denemelerinde tartismaktadir Yanilgi cabanin cogunlukla bu maliyetin nasil geri kazanilacagi mekanizmalari dikkatlice anlasilmadan harcandigidir Gerekce genellikle fiziksel bir uretim surecindeki yeniden kullanilabilir parcalarla yanlis paraleller cizilerek elde edilir Yanlis cunku kod yazmak bir urunun tasarimina benzer cok sayida birimin uretilmesine degil Ayrica bakinizYazilim cercevesiKaynakca Frakes W B Kyo Kang July 2005 Software Reuse Research Status and Future IEEE Transactions on Software Engineering 31 7 ss 529 536 CiteSeerX 10 1 1 75 635 2 doi 10 1109 TSE 2005 85 a b Reddy Martin 2011 API design for C Boston Morgan Kaufmann ISBN 978 0 12 385004 1 OCLC 704559821 Selaolo Karabo Hlomani Hlomani 2016 Towards An Algorithms Ontology Cluster for Modular Code Reuse and Polyglot Programming Advances in Computer Science Cilt 5 s 63 Researchgate vasitasiyla 4 Code Reuse Functions and Modules Head First Python 2nd Edition Book www oreilly com Ingilizce 26 Ocak 2022 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Ocak 2022 Feitosa Daniel Ampatzoglou Apostolos Gkortzis Antonios Bibi Stamatia Chatzigeorgiou Alexander September 2020 CODE reuse in practice Benefiting or harming technical debt PDF Journal of Systems and Software Ingilizce Cilt 167 s 110618 doi 10 1016 j jss 2020 110618 13 Nisan 2024 tarihinde kaynagindan arsivlendi PDF Erisim tarihi 26 Ekim 2024 Lombard Hill Group Yazilim Tekrar Kullanimi Nedir lombardhill com Lombard Hill Group 23 Ocak 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 22 Ekim 2014 Lombard Hill Group Yazilim Tekrar Kullanimi Nedir 23 Ocak 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 22 Ekim 2014 McConnell Steve 1996 Rapid Development Taming Wild Software Schedules Pearson Education ISBN 978 1 55615 900 8 Gecersiz url erisimi registration yardim a b Colombo F 2011 It s not just reuse SharedNow blogspot 27 Agustos 2011 tarihinde kaynagindan arsivlendi Champman M Van der Merwe Alta 2008 Contemplating Systematic Software Reuse in a Small Project centric Company Proceeding SAICSIT 08 Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries riding the wave of technology doi 10 1145 1456659 1456662 ISBN 978 1 60558 286 3 Gecersiz url erisimi subscription yardim Kodun Yeniden Kullanimi DocForge 10 Temmuz 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Haziran 2025 a b Bletsch Tyler 2011 Kod Yeniden Kullanim Saldirilari Yeni Sinirlar ve Savunmalar North Carolina State University ISBN 978 1 124 75297 6 16 Kasim 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Ekim 2024 Bletsch Tyler Jiang Xuxian Freeh Vince W Liang Zhenkai 2011 Jump oriented programming a new class of code reuse attack PDF Proceedings of the 6th ACM Symposium on Information Computer and Communications Security ACM ss 30 40 doi 10 1145 1966913 1966919 ISBN 978 1 4503 0564 8 7 Agustos 2017 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 7 Agustos 2017 The Go Programming Language 1 Aralik 2015 Go Aforizmalari Rob Pike Gopherfest 18 Kasim 2015 22 Aralik 2021 tarihinde kaynagindan arsivlendi erisim tarihi 26 Subat 2016
