Функцияны ауыстыру - Википедия - Feature toggle

A функцияны ауыстырып қосу (сонымен қатар функцияны ауыстырып қосқыш, ерекшелігі жалауша, флиппер, шартты ерекшелігіжәне т.б.) - бұл техника бағдарламалық жасақтама жасау бұл бірнешеге қолдау көрсетуге балама беруге тырысады филиалдар жылы бастапқы код (ерекшелік тармақтары ретінде белгілі), мысалы, а бағдарламалық жасақтама мүмкіндігі бола алады сыналды ол аяқталғанға дейін және дайын болғанға дейін босату. Функцияны ауыстырып қосу функцияны жасыру, қосу немесе өшіру кезінде қолданылады жұмыс уақыты. Мысалы, әзірлеу процесінде әзірлеуші ​​тестілеу мүмкіндігін қосып, оны басқа пайдаланушылар үшін өшіре алады.[1] Осылайша, мүмкіндік жалаушаларын пайдаланушылардың нақты ішкі жиынтықтарына мақсатты түрде шығаруды жүзеге асыру үшін пайдалануға болады, бұл мүмкіндіктер қақпасы деп аталады.[2]

Үздіксіз босату және үздіксіз орналастыру әзірлеушілерге олардың кодталуы туралы жылдам кері байланыс беру. Бұл олардың кодтық өзгерістерін мүмкіндігінше ерте біріктіруді қажет етеді. Филиалдар бұл процеске айналма жол ұсынады.[3] Мүмкіндік қосқыштары - іске асыруда қолданылатын маңызды әдіс үздіксіз жеткізу.

Техника әзірлеушілерге а шығаруға мүмкіндік береді нұсқасы аяқталмаған ерекшеліктері бар өнімнің. Бұл аяқталмаған мүмкіндіктер жасырылған (ауыстырылған), сондықтан олар көрінбейді пайдаланушы интерфейсі. Бұл көптеген кішірейтілген нұсқаларына мүмкіндік береді бағдарламалық жасақтама тұрақты тармақталу және біріктіру шығындарсыз жеткізілуі керек. Мүмкіндік қосқыштары бағдарламалық жасақтаманы біріктіру циклдарын қысқартуы мүмкін.[4] Жоба бойынша жұмыс жасайтын команда даму процесін жеделдету үшін функцияны ауыстырып қосуды қолдана алады, ол толық емес кодты да қамтуы мүмкін.

Іске асыру

Мүмкіндік қосқыштары - бұл шартты операторлардың ішінде қолданылатын айнымалылар. Сондықтан, осы шартты операторлардың ішіндегі блоктар функцияны ауыстырып қосатын мәнге байланысты 'қосулы немесе өшірулі' күйге ауысуы мүмкін. «Өшірілген» ауыстырылған код блогы оған түсініктеме беруге ұқсас. Бұл әзірлеушілерге бағдарламалық жасақтаманың ағымын басқаруға және орналастыруға дайын емес мүмкіндіктерді айналып өтуге мүмкіндік береді.

Мүмкіндіктерді ауыстырып қосудың негізгі қолданылуы бағдарламалық жасақтамадағы өзгерістерді шығарғанға дейінгі соңғы сәтте біріктіру кезінде пайда болатын жанжалды болдырмауға мүмкіндік береді, бірақ бұл әкелуі мүмкін қарызды ауыстыру. Бағдарламалық жасақтамада өшірілген қарыз функциясы тұрақты қосылып, қосымша шығындар пайда болғаннан кейін пайда болады. Кодтың басқа бөліктерін алаңдатпау үшін кодтың бұл бөлігі мұқият жойылуы керек.

Функцияны ауыстырып қосудың екі негізгі түрі бар. Біреуі - шығаруды ауыстырып-қосқыш, оны әзірлеуші ​​өнімді жұмысына байланысты өнімді шығаруға дейін сақтауды немесе алып тастауды шешеді. Екіншісі - бұл бизнес-ауысу, ол ескі кодпен салыстырғанда басқаша пайдалануды қанағаттандыратындықтан сақталады.

Мүмкіндік ауыстырғыштарын келесі сценарийлерде пайдалануға болады:[1]

  • Қолданбаға жаңа мүмкіндік қосу.
  • Қолданбадағы бар мүмкіндікті жақсарту.
  • Мүмкіндікті жасыру немесе өшіру.
  • Интерфейсті кеңейту.

Мүмкіндік ауыстырғыштарын келесі түрде сақтауға болады:[5]

  • Деректер базасындағы жолдар.
  • Конфигурация файлындағы сипат.
  • Сыртқы мүмкіндік жалаушасы қызметіндегі жазба.

Көркем топтар

Функционалдық топтар бірге жұмыс істейтін функционалды ажыратқыштардан тұрады. Бұл әзірлеушіге байланысты қосқыштардың жиынтығын оңай басқаруға мүмкіндік береді.[6]

Канарды босату

Белгілердің тағы бір артықшылығы - канарларды ұшыру. Канария шығарылымы (немесе канарды іске қосу немесе канарияны орналастыру) әзірлеушілерге мүмкіндіктерді пайдаланушылардың кішігірім жиынтығы біртіндеп тексеруге мүмкіндік береді. Егер мүмкіндіктің өнімділігі қанағаттанарлықсыз болса, оны кері әсер етпестен кері қайтаруға болады.[7]

Мартин Фаулер мүмкіндіктерді ауыстырып қосқыш «мүмкіндіктерді өндіріске енгізген кезде сіздің соңғы таңдауыңыз болуы керек» дейді. Керісінше, мүмкіндікті кішігірім бөліктерге бөліп, әрқайсысын іске асыруға болады және шығарылған өнімге басқа қиындықтарсыз қауіпсіз енгізуге болады.[8]

Функцияны ауыстыруды көптеген ірі веб-сайттар, соның ішінде Flickr,[9] Дискус,[10] Эцы,[11] reddit,[12] Gmail[13] және Netflix, [14] сияқты бағдарламалық жасақтама Google Chrome Canary.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б «ALM Rangers - мүмкіндіктерді қосатын бағдарламалық жасақтама жасау». msdn.microsoft.com.
  2. ^ «Ерекшелік жалаушалары (ақаулықтарды ауыстырады)». optimizly.com. Алынған 14 шілде 2020.
  3. ^ «Мобильді қосымшаларға арналған жалаушалар - оңтайландыру». apptimize.com. Архивтелген түпнұсқа 2016 жылғы 18 қыркүйекте. Алынған 9 қаңтар 2017.
  4. ^ JavaScript қосымшаларын бағдарламалау. Архивтелген түпнұсқа 2016-09-15. Алынған 2016-09-14.
  5. ^ Эчагюэ, Пато (2014). Ерекшелік жалаушаларын басқару. O'Reilly Media. ISBN  9781492028598 - арқылы https://www.oreilly.com/library/view/managing-feature-flags/9781492028598.
  6. ^ Эллиот, Эрик (2018). JavaScript қосымшаларын бағдарламалау. O'Reilly Media.
  7. ^ «Канарияны ұшыру - канарияны қалай және не үшін босату керек». launchdarkly.com. 7 сәуір 2015. Алынған 9 қаңтар 2017.
  8. ^ Мартин Фаулер 29 қазан 2010 (2010-10-29). «FeatureToggle». Martinfowler.com. Алынған 2013-09-27.
  9. ^ Хармес, Росс. «Сыртқа аудару - code.flickr.com». flickr.net. Алынған 9 қаңтар 2017.
  10. ^ dcramer (2010 жылғы 9 шілде). «Мүмкіндік қосқыштарымен ішінара орналастыру». Архивтелген түпнұсқа 2013-11-05. Алынған 2013-10-10.
  11. ^ «Etsy әзірлемелер мен операцияларды қалай басқарады?». codeascraft.com. 4 ақпан 2011. Алынған 9 қаңтар 2017.
  12. ^ «reddit / reddit». github.com. Алынған 9 қаңтар 2017.
  13. ^ «Gmail-дің жаңа түрін дамыту». googleblog.com. Алынған 9 қаңтар 2017.
  14. ^ «Netflix API қолдану үшін дайындау». netflix.com. Алынған 9 қаңтар 2017.