Вернуться назад

Антипаттерны в программировании. Что означает антипаттерн KISA и почему важно запомнить их все?

Описанные закономерности

Almamat Blog продолжает серию постов про антипаттерны в программировании. Антипаттерны – увлекательная и забавная тема, притом важная и серьезная.

Начнем с термина. «Паттерн» – это образец, шаблон. Антипаттерн в программировании – это распространенный неэффективный подход к решению проблем и задач. Он вреден для кода, системы в целом, управления IT-проектом или командной работы. Почему же антипаттерны используют часто? Ну, причин масса, по большей части психологические. Эти закономерности были замечены и сформулированы в ходе огромной практики множества разработчиков.

Антипаттерны противопоставляются шаблонам проектирования архитектуры софта (Design Patterns). Термины паттерны и антипаттерны стали употреблять после выхода в 1994 году легендарной книги «Паттерны объектно-ориентированного проектирования» ("Design Patterns: Elements of Reusable Object-Oriented Software").

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

 

 

Пример: антипаттерн KISA

KISA – не котик, скорее, наоборот. Это аббревиатура выражения Knight in Shining Armor, которое переводится как «рыцарь в сияющих доспехах». Этот организационный антипаттерн описывает разработчика, который в стремлении все исправить вносит изменения, никого не предупредив и ни с кем не обсудив их.

Почему это антипаттерн? 1) KISA может в данном случае просто заблуждаться. Быстрое обсуждение с коллегами предотвратило бы каскад неприятностей. 2) KISA может быть тем, кто появляется в малознакомом процессе и совершает смелые действия или ставит задачи, не обладая информацией, которая могла бы предотвратить последствия этих действий.

Забавный и одновременно драматичный образ из названия антипаттерна сообщает, как делать не нужно и как это бывает. Названия антипаттернов это всегда сторителлинг, ситком с юмором программистов. А если присмотреться, то в истории, которую транслирует название и описание антипаттерна, содержится и указание на то, как поступать правильно, эффективно и безопасно. Вернемся к антипаттерну KISA: чтобы не быть «рыцарем в сияющих доспехах», который хотел блеснуть и все спасти, а сделал хуже, нужно обсуждать с командой вносимые изменения и делать код-ревью.

 

 

Универсальное знание

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

Существует несколько типов антипаттернов в программировании:

1, Антипаттерны разработки. Выделяют антипаттерны объектно-ориентированного программирования, антипаттерны методологии, антипаттерны управления конфигурацией и антипаттерны кодинга.

2. Антипаттерны архитектуры ПО.

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

Антипаттернов много – десятки. Поэтому разбирать их блог Almamat будет постепенно. Заглядывайте!

Фото: Shutterstock / Alena Ozerova, maxbelchenko

Вернуться назад
Поделиться
Запишитесь на бесплатный диагностический урок
Читать еще