| Premature optimization | |
| По-русски этот антипаттерн называется «преждевременная оптимизация». «Premature optimization» — один из самых избитых антипаттернов, выделенный в конкретную проблему уже сто лет назад. Несмотря на это, преждевременная оптимизация в реальной жизни встречается довольно часто. | |
| Существует всего один факт, превращающий преждевременную оптимизацию из паттерна в антипаттерн. В 99,9% случаев оптимизация происходит в жертву красоте решения, а именно в жертву универсальности, инкапсуляции, переносимости, возможности быть повторно использованным (использованной), и так далее. Любой из перечисленных аспектов является несравнимо дороже производительности. | |
| Все, что можно заранее безболезненно оптимизировать, это алгоритмическая сложность решения, и ни в коем случае не следует опускаться хотя бы на уровень ниже. Оптимизацией конкретных участков кода следует заниматься только в случаях крайней необходимости, и только после того, как оптимизируемый инструмент полностью готов к работе, а оптимизируемый участок кода жестко инкапсулирован от всего окружающего мира. | |