Да будет срачик.
Вот интересно.
Какое соотношение проблем продукта от незнания каких-то алгоритмов или там паттернов системного дизайна к проблемам "мы все знаем, но просто не подумали в момент реализации", "не написали тестов/не до конца проверили фичу", "не предусмотрели такой вариант использования", "у нас не было времени" (это мое любимое) и тдтп.
Ну то есть пока, за все время (долгое, очень долгое время), я о-о-очень редко сталкивался с проблемами того, что применили не тот алгоритм (хотя вот буквально недавно было что-то похожее).
Зато проблем от того, что просто бездумно (так кажется) фигачим все, что только можно, в базу и так же все пачкой запрашиваем из базы, от того, что куски ранее работающей функциональности в какой-то момент времени перестают вызываться (рефакторинг, ептеть), запросы в базу/в бек не профилируются и тому подобных приколов - громадье.
Или "мы не продумали архитектуру". Да не можете вы продумать архитектуру навека, у вас требования к продукту меняются каждые полгода. Все что можно и нужно попытаться "продумать" - это то, как быстро менять реализацию. А быстро - это только с тестами получится, но на них часто забивают (времени много ведь занимают)...
Я тешу себя надеждой, если делать все, как учат в паттернах системного дизайна, то менять тоже можно будет быстро. Но в реальности такого чуда ни разу не встречал.
Было ли с кем-то такое чудо?
#holywar
Post #228
602
- 👍 13