Правило трьох (інформатика)

Правило трьох є емпіричним правилом рефакторингу, яке вказує коли код, що дублюється, слід замінити на підпрограму. Відповідно до правила, код може мати копію, але коли той самий код використовується тричі, він повинен бути перенесений в окрему процедуру. Це правило було введене Мартіном Фаулером[1] і приписується Дону Робертсу.

Дублювання в програмуванні є поганою практикою, тому що це робить код негнучким. Однак, рефакторинг коду для виключення дублювання займає багато часу, який може бути витрачений на інші завдання. Але коли код повторюється тричі, і його потрібно змінити, його доведеться змінювати у всіх місцях. Цей процес вразливий до помилок і часто призводить до проблем. Якщо код існує тільки в одному місці, то він може бути легко змінений лише в цьому місці. Правило припускає, що ціна підтримки, безумовно, перевищує ціну рефакторингу, коли є три копії коду, і можливо перевищує (або ні), якщо є дві копії.

Це правило, зазвичай, застосовується тільки до невеликого числа рядків коду або навіть окремих рядків коду. Наприклад, якщо програма викликає функцію, а потім викликає її знову, коли сталася помилка при першому виклику, то мати два місця виклику функції є прийнятним. Однак, якщо функцію потрібно викликати п'ять разів, перш ніж згенерувати помилку, то в такому випадку всі виклики повинні бути замінені на цикл з тілом, яке містить один виклик.

Див. також

Примітки

  1. Martin Fowler; Kent Beck; John Brant; William Opdyke; Don Roberts (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. ISBN 978-0201485677.

Посилання

Read other articles:

Pamela FranklinFranklinm 1973Lahir03 Februari 1950 (umur 74)Yokohama, JepangPendidikanElmhurst Ballet SchoolPekerjaanAktrisTahun aktif1961–1981Suami/istriHarvey Jason ​(m. 1970)​Anak2 Pamela Franklin (lahir 3 Februari 1950) adalah mantan aktris berkebangsaan British. Dia terkenal karena perannya dalam film The Prime of Miss Jean Brodie (1969), di mana dia memenangkan NBR Award dan menerima nominasi BAFTA Award.[1] Franklin membuat debut akting...

 

Artikel atau sebagian dari artikel ini mungkin diterjemahkan dari General of the Armies di en.wikipedia.org. Isinya masih belum akurat, karena bagian yang diterjemahkan masih perlu diperhalus dan disempurnakan. Jika Anda menguasai bahasa aslinya, harap pertimbangkan untuk menelusuri referensinya dan menyempurnakan terjemahan ini. Anda juga dapat ikut bergotong royong pada ProyekWiki Perbaikan Terjemahan. (Pesan ini dapat dihapus jika terjemahan dirasa sudah cukup tepat. Lihat pula: panduan pe...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Februari 2023. SOKO G-2 Galeb (English: Seagull) adalah pesawat jet trainer mesin tunggal, dua-seater canggih pesawat serangan darat yang dirancang oleh ATI dan diproduksi oleh SOKO Yugoslavia. G-2 Galeb pertama seri pesawat jet yang diproduksi di Yugoslavia dan Bal...

  لمعانٍ أخرى، طالع مدريد (توضيح). Madridمدريد (بالإسبانية: Madrid)‏[1]  مدريد مدريدعلم مدريدشعار موقع مدريد تقسيم إداري البلد  إسبانيا[2][3] العاصمة مجريط  [لغات أخرى]‏  عاصمة لـ إسبانيامنطقة مدريد (1983–)  المنطقة مدريد المسؤولون المقاطعة مدريد خص�...

 

Pour les articles homonymes, voir Chvalovice. Cet article est une ébauche concernant une localité tchèque. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Chvalovice   Administration Pays Tchéquie Région Moravie-du-Sud District Znojmo Région historique Moravie Maire Zdeněk Karpinski Code postal 669 02 Démographie Population 651 hab. (2020) Densité 74 hab./km2 Géographie Coordonnées 48°...

 

../.. | VIIe millénaire av. J.-C. | VIe millénaire av. J.-C. | Ve millénaire av. J.-C. | ../.. Liste des millénaires | Liste des siècles Le VIe millénaire av. J.-C. a débuté le 1er janvier 6000 av. J.-C. et s’est achevé le 31 décembre 5001 av. J.-C. dans le calendrier julien proleptique. Évènements 6050-3050 av. J.-C. : altithermal, ou optimum climatique holocène. Climat aride en Amérique du Nord mais plus humide en Europe avec des temp...

Ne doit pas être confondu avec Encoprésie. Énurésie nocturne Données clés Traitement Médicament Mesocarb (en) Spécialité Psychiatrie et psychologie Classification et ressources externes CISP-2 P12 CIM-10 F98.0, R32 CIM-9 307.6, 788.36 DiseasesDB 4326 MedlinePlus 003144 eMedicine 1014762 MeSH D053206 Mise en garde médicale modifier - modifier le code - voir Wikidata (aide) L’énurésie (ou énurèse) nocturne est une affection caractérisée par la survenue pendant le sommeil de m...

 

Piala Suzuki AFF 20162016 AFF Championship (Bhs. Inggris) ၂၀၁၆ အာဆီယံချန်ပီယံရှစ် ဘောလုံးပြိုင်ပွဲ (Bhs. Myanmar) Berkas:AFF Suzuki Cup 2016 Logo.pngInformasi turnamenTuan rumah Myanmar FilipinaJadwalpenyelenggaraan19 November - 17 Desember 2016Jumlahtim peserta8 (dari 1 konfederasi)Tempatpenyelenggaraan7 (di 7 kota)Hasil turnamenJuara Thailand (gelar ke-5)Tempat kedua IndonesiaStatistik turnamenJ...

 

American football player and coach (born 1958) Ruffin McNeillCurrent positionTitleSpecial assistant to the head coachTeamNC StateConferenceACCBiographical detailsBorn (1958-10-09) October 9, 1958 (age 65)Playing career1976–1980East Carolina Position(s)Defensive backCoaching career (HC unless noted)1980–1984Lumberton HS (NC) (assistant)1985–1986Clemson (GA/LB)1987Austin Peay (LB)1988North Alabama (LB)1989–1991Appalachian State (LB)1992East Carolina (DL)1993–1996Appalachian State...

2019 Bengali film Goyenda TatarTeaser posterBengaliগোয়েন্দা তাতার Directed bySrikanta GaluiBased onChotur Goyenda Choturabhijanby Sasthipada ChattopadhyayProduced byBinod Kumar Pandey Usha PandeStarringMonu Mukharjee Rajatava Dutta Shantilal Mukherjee Kharaj MukherjeeMusic byAnirban Ray AkashProductioncompanyG V Thch Solution Pvt LtdRelease date 4 January 2019 (2019-01-04) CountryIndiaLanguageBengali Goyenda Tatar is a Bengali adventure detective fi...

 

«Hitler» redirige aquí. Para otras acepciones, véase Hitler (desambiguación). Adolf Hitler Hitler en abril de 1937. Führer de Alemania[a]​ 2 de agosto de 1934-30 de abril de 1945Gabinete Gabinete HitlerPredecesor Paul von Hindenburg(como presidente)Sucesor Karl Dönitz(como presidente) Reichskanzler de Alemania 30 de enero de 1933-30 de abril de 1945Presidente Paul von Hindenburg (1933-1934)Él mismo (1934-1945)Gabinete Gabinete HitlerPredecesor Kurt von SchleicherSucesor Joseph G...

 

Brazilian Petrochemical Corporation Braskem S.ACompany typePublicTraded asB3: BRKM3, BRKM5BMAD: XBRK NYSE: BAKIbovespa ComponentIndustryPetrochemicalFoundedAugust 16, 2002; 21 years ago (2002-08-16)HeadquartersSão Paulo, São Paulo, BrazilArea servedBrazil, United States, Argentina, Mexico, EuropeKey peopleRoberto Simões (CEO)ProductsPetrochemical, chemicals and resinsRevenue US$ 14.7 billion (2017)[1]Net income US$ 1.7 billion (2017) [1]Owne...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber:...

 

Italian general (1854–1921) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Giovanni Ameglio – news · newspapers · books · scholar · JSTOR (February 2024) (Learn how and when to remove this message) Giovanni AmeglioItalian Governor of CyrenaicaIn officeOctober 1913 – 5 August 1918Preceded byOtta...

 

Australian politician (born 1978) For other people named Jim Chalmers, see Jim Chalmers (disambiguation). The HonourableJim ChalmersMPChalmers in 2020Treasurer of Australia Ambassador to IncumbentAssumed office 23 May 2022Prime MinisterAnthony AlbanesePreceded byJosh FrydenbergMinister for Home Affairs Ambassador to ActingIn office23 May 2022 – 1 June 2022Prime MinisterAnthony AlbanesePreceded byKaren AndrewsSucceeded byClare O'Neil Ambassador to Member of the Australian Parlia...

American college student who was imprisoned in North Korea (1994–2017) Otto WarmbierBornOtto Frederick Warmbier(1994-12-12)December 12, 1994Cincinnati, Ohio, U.S.DiedJune 19, 2017(2017-06-19) (aged 22)Cincinnati, Ohio, U.S.Resting placeOak Hill Cemetery, Glendale, Ohio, U.S.EducationWyoming High SchoolAlma materUniversity of Virginia London School of EconomicsDetentionCountryNorth KoreaDetainedJanuary 2, 2016ChargeSubversion (through alleged attempted theft of a propaganda poster)...

 

Early microprocessor COSMACRCA CDP 1802General informationLaunched1974Physical specificationsPackage40 pin DIP ,44 pin PLCCHistorySuccessorCDP1804, CDP1805, CDP1806 RCA CDP1802 die shot The COSMAC (Complementary Symmetry Monolithic Array Computer) is an 8-bit microprocessor family introduced by RCA. It is historically notable as the first CMOS microprocessor.[1] The first production model was the two-chip CDP1801R and CDP1801U, which were later combined into the single-chip CDP1802.&#...

 

Politics of Albania Constitution Human rights Executive President: Bajram Begaj (list) Prime Minister: Edi Rama (list) Deputy Prime Minister: Belinda Balluku (list) Cabinet Legislature Parliament Speaker: Lindita Nikolla (list) Committees Members Leader of the Opposition Judiciary Constitutional Court Administrative Court Court of Justice (ordinary jurisdiction) Supreme Court Administrative divisions Counties Municipalities CitiesVillages Elections Recent elections Presidential 201220172022 P...

1911 novel by J. D. Beresford This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (November 2015) (Learn how and when to remove this message) The Hampdenshire Wonder First editionAuthorJ. D. BeresfordLanguageEnglishGenreScience fiction novelPublisherSidgwick & JacksonPublication date1911Publication placeUnited KingdomMedia...

 

Tesaurus Tesaurus merupakan sebuah buku sinonim (dua kata atau lebih yang memiliki arti yang sama). Tesaurus sering termasuk karya terkait yang memiliki hal yang hampir sama. Beberapa tesaurus juga termasuk daftar hiponim (sub-bagian, misalnya mawar adalah hiponim dari bunga) yang sering digunakan, serta antonim (dua kata yang memiliki arti berlawanan). Sebagai contoh, dengan mencari kata besar di sebuah tesaurus, seseorang akan menemukan kata lain yang mirip seperti raya, agung, dll. Jika se...