Кіріспе
Бағдарламалық жасақтаманы әзірлеу, жобаларды басқару және бизнес-процестердегі анти-үлгі – қайта-қайта туындайтын мәселеге жиі қолданылатын, бірақ көбінесе тиімсіз және тіпті зиян келтіруі мүмкін жауап. Бұл термин 1995 жылы компьютер бағдарламашысы Эндрю Коэнигпен қалыптастырылған. Оған "Дизайн үлгілері" кітабы (авторлары бағдарламалық жасақтаманы әзірлеуде өте сенімді және тиімді деп санайтын бірқатар дизайн үлгілерін көрсетеді) шабыт берген. Алғаш рет бұл термин оның "Объектіге бағытталған бағдарламалау журналында" жарияланған мақаласында пайда болды. 1996 жылы Майкл Аккройдтың "Объекттер әлемі" Батыс конференциясында тағы бір баяндамасында анти-үлгілер де сипатталды. Дегенмен, 1998 жылғы "AntiPatterns" кітабы осы идеяны кеңінен танымал етіп, оның ауқымын бағдарламалық жасақтама дизайнынан асырып, бағдарламалық жасақтама архитектурасы мен жобаларды басқаруға дейін кеңейтті. Кейін басқа авторлар оны одан әрі кеңейтіп, қоршаған ортаға, ұйымдық мәдениетке қатысты анти-үлгілерді де қамтыды.
An anti pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer Andrew Koenig, was inspired by the book Design Patterns (which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective) and first published in his article in the Journal of Object Oriented Programming. A further paper in 1996 presented by Michael Ackroyd at the Object World West Conference also documented anti patterns. It was, however, the 1998 book AntiPatterns that both popularized the idea and extended its scope beyond the field of software design to include software architecture and project management. Other authors have extended it further since to encompass environmental, organizational, and cultural anti patterns.
Қолданылуы
Антиүлгілерді құжаттау – проблемалық кеңістікті талдаудың және сарапшы білімін жинақтаудың тиімді жолы болуы мүмкін. Кейбір антиүлгілердің сипаттамалары тек осы үлгінің зиянды салдарларын ғана көрсетеді, ал сапалы антиүлгілерді құжаттау антиүлгіні жоюға немесе жақсартуға баламалы шешімдерді ұсынады.
Бағдарламалық жасақтамадағы анти-үлгілер
Бағдарламалық жасақтауда анти-үлгілерге үлкен саз шашы (дизайнтың болмауы), Құдай класы (бір сынып бағдарламадағы барлық басқаруды жүзеге асырады, ал басқару бірнеше сыныптарға бөлінуі керек), сиқырлы сандар (түсініксіз мағынасы бар бірегей мәндер немесе атаулы тұрақтымен алмастырылуы мүмкін бірнеше рет кездесетін мәндер) және Полтергейстер (кластардағы басқа әдістерді шақыру үшін ғана пайда болатын уақытша контроллер кластары) жатады.
Жобаларды басқарудың анти-үлгілері
Жобаларды басқарудағы антиүлгілер, "Antipatterns" кітабында келтірілгендер: Blowhard Jamboree (кәсіптік сарапшылардың шамадан тыс көптігі), талдау параличі, Viewgraph Engineering (нақты бағдарламалық құралдарға қарағанда презентация жасауға артық уақыт жұмсалуы), Жоспарлау арқылы өлім (сол сияқты, тым көп жоспарлау), Сәттілікке деген қорқыныш (жоба аяқталуға жақын иррационалдық сезімдер), Corncob (адамдармен қарым-қатынастағы қиындықтар), Интеллектуалдық зорлық (жаргон немесе түсініксіз технология қолданып қорқыту), Иррационалды басқару (жаман басқару әдеттері), Түтін мен көріністер (сатушылардың демо және прототиптерді шамадан тыс пайдалануы), Қабырғадан секіріп өту (әзірлеушілердің келісімінсіз жаңа бағдарламалық әдістерді күштеп енгізу), Өрт сөндіру (ұзақ монотондық жұмыс пен қысқа дағдарыстардың араласуы), Дұшпандық (басқарушылар арасындағы жанжалдар) және Электрондық пошта қауіпті (жаман ойласқан электрондық хабарламалардың нәтижесінде туындайтын жағдайлар).