Принцип «YAGNI» (англ. You Aren't Going to Need It — «Вам це не знадобиться») — процес і принцип проєктування, при якому основною метою та цінністю є відмова від додавання функціональності, в якій немає безпосередньої потреби. Цей принцип варто застосувати ще на етапі формування юзкейсів та UX-тестування на прототипах, оскільки це дозволяє визначити потрібні для користувачів елементи програми та усунути непотрібні функції з вимог до початку їхньої розробки.
Обґрунтування
Згідно з адептами принципу YAGNI, бажання писати код, який не потрібний прямо зараз, але може знадобитися в майбутньому, призводить до таких небажаних наслідків:
- Витрачається час, який було б витрачено на додавання, тестування і поліпшення необхідної функціональності.
- Нова функціональність має бути налагоджена, документована і підтримувана.
- Нова функціональність обмежує те, що може бути зроблено в майбутньому, тому непотрібна функціональність може згодом перешкодити додаванню нової потрібної функціональності.
- Поки функціональність справді не потрібна, важко повністю передбачити, що вона має робити, і протестувати її. Якщо нова функціональність ретельно не протестована, вона може неправильно працювати, коли вона згодом знадобиться.
- Це призводить до того, що програмне забезпечення стає складнішим.
- Якщо вся функціональність не документована, вона може так і залишитися невідомою користувачам.
- Додавання нової функціональності може призвести до бажання ще новішої, приводячи до ефекту снігової кулі.
Див. також
Посилання
- You Arent Gonna Need It [ 19 жовтня 2010 у Wayback Machine.] в
- Чи порушує рефакторінг принцип YAGNI? [ 19 жовтня 2019 у Wayback Machine.] Мартін Фаулер
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Princip YAGNI angl You Aren t Going to Need It Vam ce ne znadobitsya proces i princip proyektuvannya pri yakomu osnovnoyu metoyu ta cinnistyu ye vidmova vid dodavannya funkcionalnosti v yakij nemaye bezposerednoyi potrebi Cej princip varto zastosuvati she na etapi formuvannya yuzkejsiv ta UX testuvannya na prototipah oskilki ce dozvolyaye viznachiti potribni dlya koristuvachiv elementi programi ta usunuti nepotribni funkciyi z vimog do pochatku yihnoyi rozrobki ObgruntuvannyaZgidno z adeptami principu YAGNI bazhannya pisati kod yakij ne potribnij pryamo zaraz ale mozhe znadobitisya v majbutnomu prizvodit do takih nebazhanih naslidkiv Vitrachayetsya chas yakij bulo b vitracheno na dodavannya testuvannya i polipshennya neobhidnoyi funkcionalnosti Nova funkcionalnist maye buti nalagodzhena dokumentovana i pidtrimuvana Nova funkcionalnist obmezhuye te sho mozhe buti zrobleno v majbutnomu tomu nepotribna funkcionalnist mozhe zgodom pereshkoditi dodavannyu novoyi potribnoyi funkcionalnosti Poki funkcionalnist spravdi ne potribna vazhko povnistyu peredbachiti sho vona maye robiti i protestuvati yiyi Yaksho nova funkcionalnist retelno ne protestovana vona mozhe nepravilno pracyuvati koli vona zgodom znadobitsya Ce prizvodit do togo sho programne zabezpechennya staye skladnishim Yaksho vsya funkcionalnist ne dokumentovana vona mozhe tak i zalishitisya nevidomoyu koristuvacham Dodavannya novoyi funkcionalnosti mozhe prizvesti do bazhannya she novishoyi privodyachi do efektu snigovoyi kuli Div takozhGirshe ce krashe Princip KISS Don t repeat yourself Minimalno zhittyezdatnij produktPosilannyaYou Arent Gonna Need It 19 zhovtnya 2010 u Wayback Machine v Chi porushuye refaktoring princip YAGNI 19 zhovtnya 2019 u Wayback Machine Martin Fauler