AHA — это аббревиатура от «Избегайте поспешных абстракций», придуманная Кентом К. Доддсом. И речь идет о том, чтобы разбить большую абстракцию на маленькие части. Таким образом, код более прост для понимания другими разработчиками программного обеспечения.
Давайте рассмотрим аналогию с использованием принципа AHA.
Это Адам, разработчик программного обеспечения XYZ Business Inc.
Его задача сделать функцию с валидацией для создания пользователя.
Итак, он кодирует так.
В результате createNewUser() — это обширный метод, потому что он имеет много кодов, и происходит множество проверок. Следовательно, если появятся дополнительные коды, касающиеся будущего обслуживания, этот код может вызвать дилемму.
Внезапно Адам осознает риск. Итак, он следовал принципу программирования AHA, а затем начал реорганизовывать свою реализацию.
Так вот, Его код выглядит так.
Судя по всему, код понятен, и если возникает проблема, его можно спокойно отладить. Кроме того, легко обновлять и добавлять новую логику.
В целом принцип AHA аналогичен принципу единой ответственности. Он направлен на то, чтобы функции несли одну ответственность, и основная идея состоит в том, чтобы избежать большой абстракции. Так что, в конце концов, кодовая база выглядит элегантно и удобно в обслуживании.
Автор: Марк Кеннет Ломио | Инженер-программист полного стека | BlastAsia, Inc.
Использованная литература:
https://medium.com/nerd-for-tech/dry-wet-or-aha-7c2132aaf047
https://kentcdodds.com/blog/aha-programming
https://dev.to/andreacanton/aha-programming-vs-single-responsibility-principle-4go