Skip to main content

Что такое макаронная теория программирования?

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

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

С этим типом теории макаронных изделий понятно, что программирование является случайным и хаотичным. В программном коде практически нет реальной структуры. Конечным результатом является то, что попытка изменить код, связанный с одной частью последовательности, часто создает непредвиденные проблемы с другой частью кода. В результате, код спагетти чрезвычайно трудно понять с точки зрения логической последовательности и в равной степени трудно изменить без создания новых проблем.

Напротив, теория программирования макаронных изделий может также относиться к программированию, которое является высоко структурированным. Один из примеров такого типа теории известен как код лазаньи. Лазанья - это многослойное блюдо из пасты, в котором ингредиенты специально и последовательно помещаются между слоями лапши лазаньи. Конечным результатом является блюдо из пасты, которое однородно и легко разбивается на идентифицируемые компоненты.

Когда теория или программирование макаронных изделий использует термин « код лазаньи» для обозначения усилий по программированию, он выделяет логику и порядок, который, по-видимому, определяет всю структуру используемого кода. Можно изменить разделы кода, не создавая непредвиденную реакцию где-то позже при обработке кода. Логическая прогрессия и последовательность являются отличительными чертами кода лазаньи, что делает его противоположностью более хаотичного кода спагетти.

Концепция макаронной теории программирования обычно приписывается Рэймонду Руби. В письме, которое он написал в отраслевом журнале в 1992 году, Рубей использовал терминологию, связанную с равиолями и спагетти, для обозначения стратегий и ситуаций программирования. Общая идея теории программирования для макаронных изделий завоевала популярность, и вскоре многие программисты стали маркировать различные типы макаронных изделий различными методами. В некоторых случаях выбор названий макаронных изделий указывал на полезные свойства данного подхода к коду программирования, в то время как другие ссылались на методы программирования, которые считались менее эффективными и структурированными.