Большой комок грязи (>kl,okw tkbkt ijx[n)

Перейти к навигации Перейти к поиску

Большой комок грязи (англ. Big ball of mud) — программная система с нераспознаваемой архитектурой. Хотя это нежелательно с точки зрения программной инженерии, такие системы распространены на практике из-за давления бизнеса, текучки кадров среди разработчиков и энтропии кода. Они представляют собой тип анти-шаблона дизайна.

В компьютерных программах[править | править код]

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

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

Brian Foote and Joseph Yoder, Big Ball of Mud. Fourth Conference on Patterns Languages of Programs (PLoP '97/EuroPLoP '97) Monticello, Illinois, September 1997

Чтобы контролировать большой ком грязи, программистам настоятельно рекомендуется изучить его и понять, что он выполняет, и использовать его как свободную основу для формального набора требований к хорошо продуманной системе, которая могла бы её заменить. Сдвиги технологий, такие как клиент-сервер -> web-based или основанные на файлах -> основаны на базе данных, могут служить веским основанием для начала с нуля.

См. также[править | править код]

Ссылки[править | править код]

  • Brian Foote and Joseph Yoder, Big Ball of Mud Fourth Conference on Patterns Languages of Programs (PLoP '97/EuroPLoP '97) Monticello, Illinois, September 1997