Jump to content

Антипаттерн

(Перенаправлено с Антипаттерна )

Антишаблон . в разработке программного обеспечения , управлении проектами и бизнес-процессах — это распространенный ответ на повторяющуюся проблему, который обычно неэффективен и рискует оказаться крайне контрпродуктивным [1] [2] Термин, придуманный в 1995 году программистом Эндрю Кенигом , был вдохновлен книгой «Шаблоны проектирования» (в которой освещается ряд шаблонов проектирования при разработке программного обеспечения , которые ее авторы считали очень надежными и эффективными) и впервые был опубликован в его статье в журнале Journal. объектно-ориентированного программирования . [3] Еще один документ, представленный Майклом Экройдом в 1996 году на конференции Object World West, также документировал антипаттерны. [3]

Однако именно книга AntiPatterns 1998 года не только популяризировала эту идею, но и расширила ее сферу за пределы области проектирования программного обеспечения, включив в нее архитектуру программного обеспечения и управление проектами. [3] Другие авторы с тех пор расширили его, включив в него экологические, организационные и культурные антипаттерны. [4]

Определение

[ редактировать ]

По мнению авторов Design Patterns , в антипаттерне есть два ключевых элемента, которые отличают его от плохой привычки, плохой практики или плохой идеи:

  1. Антипаттерн — это широко используемый процесс, структура или образец действия, который, несмотря на то, что изначально кажется подходящим и эффективным ответом на проблему, имеет больше плохих последствий, чем хороших.
  2. Существует другое решение проблемы, которую пытается решить антишаблон. Это решение задокументировано, воспроизводимо и доказало свою эффективность там, где нет анти-шаблона.

Руководством к тому, что обычно используется, является «правило трех», аналогичное правилу для шаблонов: чтобы быть анти-шаблоном, его возникновение должно быть засвидетельствовано как минимум три раза. [5]

Использование

[ редактировать ]

Документирование антипаттернов может быть эффективным способом анализа проблемного пространства и сбора экспертных знаний. [6]

Хотя некоторые описания анти-шаблонов просто документируют неблагоприятные последствия шаблона, хорошая документация по анти-шаблону также предоставляет альтернативу или средство улучшения анти-шаблона. [7]

Антипаттерны разработки программного обеспечения

[ редактировать ]

В разработке программного обеспечения антишаблоны включают в себя большой ком грязи (отсутствие) дизайна, класс Бога (где один класс управляет всем управлением в программе , а не управление распределяется между несколькими классами), магические числа (уникальные значения с необъяснимое значение или множественные случаи, которые можно заменить именованной константой) и полтергейсты (эфемерные классы контроллеров, которые существуют только для вызова других методов классов). [7]

Большой ком грязи

[ редактировать ]

Это указывает на программную систему , которой не хватает воспринимаемой архитектуры. Хотя это и нежелательно с точки зрения разработки программного обеспечения, такие системы широко распространены на практике из-за давления со стороны бизнеса, текучести разработчиков и энтропии кода .

Этот термин был популяризирован в Брайана Фута одноименной статье и Джозефа Йодера 1997 года, в которой этот термин дается:

«Большой ком грязи» — это беспорядочно структурированные, разросшиеся, неряшливые джунгли с изоляционной лентой и проволокой, со спагетти-кодом . Эти системы демонстрируют безошибочные признаки нерегулируемого роста и неоднократного целесообразного ремонта. Информация беспорядочно распределяется между удаленными элементами системы, часто до такой степени, что почти вся важная информация становится глобальной или дублируется.

Общая структура системы, возможно, никогда не была четко определена.

Если бы это было так, возможно, оно разрушилось до неузнаваемости. Программисты, обладающие хоть каплей архитектурного чутья, избегают этих трясин. Только те, кого не волнует архитектура и, возможно, доволен инерцией повседневной работы по заделыванию дыр в этих разрушающихся дамбах, довольны работой над такими системами.

- Брайан Фут и Джозеф Йодер, «Большой комок грязи». Четвертая конференция по шаблонам языков программ (PLoP '97/EuroPLoP '97), Монтичелло, Иллинойс, сентябрь 1997 г.

Фут и Йодер считают Брайана Мэрика автором термина «большой ком грязи» для обозначения такого рода архитектуры. [8]

Антипаттерны управления проектами

[ редактировать ]

Антишаблоны управления проектами, включенные в книгу «Антипаттерны» , включают Blowhard Jamboree (избыток отраслевых экспертов), паралич анализа , Viewgraph Engineering (слишком много времени тратится на создание презентаций и недостаточно на реальное программное обеспечение), Death by Planning (аналогично, слишком много времени тратится на создание презентаций и недостаточно на реальное программное обеспечение). планирование), Страх успеха (иррациональные страхи перед завершением проекта), Кукурузный початок (трудности с людьми), Интеллектуальное насилие (запугивание посредством использования жаргона или загадочных технологий), Иррациональное управление (плохие привычки управления), Дым и зеркала (чрезмерное использование демонстраций и прототипов от продавцов), Throw It Over the Wall (навязывание модных методов разработки программного обеспечения разработчикам без всякой поддержки), Fire Drill (длительные периоды однообразия, перемежающиеся короткими кризисами), The Feud (конфликты между менеджерами) и e -Почта опасна (ситуации, возникающие в результате необдуманных сообщений электронной почты). [4]

См. также

[ редактировать ]

Что поддерживает что

[ редактировать ]
  1. ^ Будген 2003 , с. 225.
  2. ^ Эмблер 1998 , с. 4.
  3. ^ Jump up to: а б с Нил, Лапланте и ДеФранко, 2011 , с. 4.
  4. ^ Jump up to: а б Нил, Лапланте и ДеФранко, 2011 , с. 5.
  5. ^ Нил, Лапланте и ДеФранко 2011 , стр. 6.
  6. ^ Хименес 2006 .
  7. ^ Jump up to: а б Демейер 2008 , с. 102.
  8. ^ Фут, Брайан; Йодер, Джозеф (26 июня 1999 г.). «Большой комок грязи» . laputan.org . Проверено 14 апреля 2019 г. .

Источники

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
  • Кениг, Эндрю (март – апрель 1995 г.). «Паттерны и антипаттерны». Журнал объектно-ориентированного программирования . 8 (1): 46–48.
  • Лапланте, Филипп А.; Нил, Колин Дж. (2005). Антипаттерны: идентификация, рефакторинг и управление . Публикации Ауэрбаха. ISBN  0-8493-2994-9 .
  • Браун, Уильям Дж.; Мальво, Рафаэль К.; Маккормик, Хейс В.; Томас, Скотт В. (2000). Хадсон, Тереза ​​Хадсон (ред.). Антишаблоны в управлении проектами . Джон Уайли и сыновья . ISBN  0-471-36366-9 .
  • Стамелос, Иоаннис (январь 2010 г.). «Антипаттерны управления программными проектами». Журнал систем и программного обеспечения . 83 (1): 52–59. дои : 10.1016/j.jss.2009.09.016 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 95b5bd1708aad510fdfc8262deb13255__1719799860
URL1:https://arc.ask3.ru/arc/aa/95/55/95b5bd1708aad510fdfc8262deb13255.html
Заголовок, (Title) документа по адресу, URL1:
Anti-pattern - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)