DRY чи WET?
Як ми всі знаємо, реальність сучасної розробки дуже відрізняється від книжок. І часто мамкині любителі патернів та best practices на практиці створюють більше проблем, ніж вирішують.
Особливо коли треба швидко запиляти PoC або MVP, щоб отримати гроші на подальший розвиток і получку для всіх причасних.
DRY (Don’t Repeat Yourself) каже, що потрібно уникати дублювання коду, бо інакше зміни доведеться робити в багатьох місцях. Звучить благородно. Але на практиці це часто призводить до того, що сервіс, який можна було просто продублювати з невеликими змінами, перетворюється на switch/case атракціон, в якому ніхто не може розібратися.
Якщо проєкт на ранній стадії, іноді краще керуватися WET (Write Everything Twice). Це протилежність DRY і загалом вважається антипатерном, але добре підходить для ситуацій, коли ми не можемо собі дозволити best practices.
Основна ідея проста - дублювання коду краще, ніж погана абстракція. У багатьох випадках, коли бізнес логіка часто змінюється, універсальний сервіс, функція чи компонент можуть ускладнити код значно більше, ніж просте людське дублювання.
Post #94
564
- 🔥 18
- ❤ 4
- 🤔 1