Правило трьох є емпіричним правилом рефакторингу, яке вказує коли код, що дублюється, слід замінити на підпрограму. Відповідно до правила, код може мати копію, але коли той самий код використовується тричі, він повинен бути перенесений в окрему процедуру. Це правило було введене Мартіном Фаулером і приписується Дону Робертсу.
Дублювання в програмуванні є поганою практикою, тому що це робить код негнучким. Однак, рефакторинг коду для виключення дублювання займає багато часу, який може бути витрачений на інші завдання. Але коли код повторюється тричі, і його потрібно змінити, його доведеться змінювати у всіх місцях. Цей процес вразливий до помилок і часто призводить до проблем. Якщо код існує тільки в одному місці, то він може бути легко змінений лише в цьому місці. Правило припускає, що ціна підтримки, безумовно, перевищує ціну рефакторингу, коли є три копії коду, і можливо перевищує (або ні), якщо є дві копії.
Це правило, зазвичай, застосовується тільки до невеликого числа рядків коду або навіть окремих рядків коду. Наприклад, якщо програма викликає функцію, а потім викликає її знову, коли сталася помилка при першому виклику, то мати два місця виклику функції є прийнятним. Однак, якщо функцію потрібно викликати п'ять разів, перш ніж згенерувати помилку, то в такому випадку всі виклики повинні бути замінені на цикл з тілом, яке містить один виклик.
Див. також
Примітки
- Martin Fowler; Kent Beck; John Brant; William Opdyke; Don Roberts (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. ISBN .
Посилання
- Three Strikes And You Refactor (c2.com)
- DRY (c2.com)
- Once and Only Once (c2.com)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Pravilo dlya S div Pravilo troh C Pravilo troh ye empirichnim pravilom refaktoringu yake vkazuye koli kod sho dublyuyetsya slid zaminiti na pidprogramu Vidpovidno do pravila kod mozhe mati kopiyu ale koli toj samij kod vikoristovuyetsya trichi vin povinen buti perenesenij v okremu proceduru Ce pravilo bulo vvedene Martinom Faulerom i pripisuyetsya Donu Robertsu Dublyuvannya v programuvanni ye poganoyu praktikoyu tomu sho ce robit kod negnuchkim Odnak refaktoring kodu dlya viklyuchennya dublyuvannya zajmaye bagato chasu yakij mozhe buti vitrachenij na inshi zavdannya Ale koli kod povtoryuyetsya trichi i jogo potribno zminiti jogo dovedetsya zminyuvati u vsih miscyah Cej proces vrazlivij do pomilok i chasto prizvodit do problem Yaksho kod isnuye tilki v odnomu misci to vin mozhe buti legko zminenij lishe v comu misci Pravilo pripuskaye sho cina pidtrimki bezumovno perevishuye cinu refaktoringu koli ye tri kopiyi kodu i mozhlivo perevishuye abo ni yaksho ye dvi kopiyi Ce pravilo zazvichaj zastosovuyetsya tilki do nevelikogo chisla ryadkiv kodu abo navit okremih ryadkiv kodu Napriklad yaksho programa viklikaye funkciyu a potim viklikaye yiyi znovu koli stalasya pomilka pri pershomu vikliku to mati dva miscya vikliku funkciyi ye prijnyatnim Odnak yaksho funkciyu potribno viklikati p yat raziv persh nizh zgeneruvati pomilku to v takomu vipadku vsi vikliki povinni buti zamineni na cikl z tilom yake mistit odin viklik Div takozhProgramuvannya metodom kopiyuvannya vstavlennya Don t repeat yourself DRY Edsger DejkstraPrimitkiMartin Fowler Kent Beck John Brant William Opdyke Don Roberts 1999 Refactoring Improving the Design of Existing Code Addison Wesley Professional ISBN 978 0201485677 PosilannyaThree Strikes And You Refactor c2 com DRY c2 com Once and Only Once c2 com