Кіріспе
Компьютерлік бағдарламалау техникасы
Компьютерлік бағдарламалауда, маймыл жөндеуі – бұл кодтың бөлігінің мінез-құлқысын жұмыс істеу кезінде динамикалық түрде жаңартуға қолданылатын техника. Бұл Smalltalk, JavaScript, Objective C, Ruby, Perl, Python, Groovy және Lisp сияқты динамикалық тілдердің жұмыс уақыты кодын бастапқы кодты өзгертпей кеңейту немесе өзгерту үшін пайдаланылады.
In computer programming, monkey patching is a technique used to dynamically update the behavior of a piece of code at run time. It is used to extend or modify the runtime code of dynamic languages such as Smalltalk, JavaScript, Objective C, Ruby, Perl, Python, Groovy, and Lisp without altering the original source code.
Этимология
Маймыл жапсырмасы термині, кодты жасырын түрде және басқа да осындай жапсырмалармен үйлесімсіз болуы мүмкін, орындау кезінде өзгертуге қатысты болған партизандық жапсырма деген бұрынғы терминнен шыққан сияқты. "Партизан" сөзі, "горилла" сөзіне жақын дыбыстасқандықтан, жапсырманы кем қорқынышты ету үшін "маймыл" сөзіне айналды деген болжам бар. Басқа бір этимологиялық түсіндірме бойынша, бұл кодпен "әуесқойлықпен араласуды" (ойнауды, түзетуді) білдіреді. Атының айғақтайтынына қарамастан, "маймыл жапсырмасы" кейде бағдарламаны кеңейтудің ресми әдісі болып табылады. Мысалы, Firefox және Internet Explorer сияқты веб-браузерлер бұрын осыны қолдаған, бірақ қазіргі браузерлерде (Firefox-та оның ішінде) ресми кеңейту жүйесі бар.
Анықтамалар
Терминнің анықтамасы оны қолданатын қауымдастыққа байланысты өзгереді. Руби, Питон және көптеген басқа динамикалық бағдарламалау тілдерінде "маймыл жөндеуі" термині кластың немесе модульдің орындалу кезіндегі динамикалық өзгертулеріне ғана қатысты, мұның себебі – үшінші тарап кодын қатеден немесе күтілгендей жұмыс істемейтін мүмкіндіктен шығару ниеті. Орындалу кезінде сыныптарды өзгертудің басқа түрлері әртүрлі мақсаттарға байланысты басқаша аталады. Мысалы, Zope және Plone жүйелерінде қауіпсіздік жөндеулері көбінесе динамикалық сыныпты өзгерту арқылы жүзеге асырылады, бірақ олар "жедел түзетулер" деп аталады.