Я, кажется, замечаю две мысли о том, что происходит в оптимизации:
- Преждевременная оптимизация - это корень всех злых. Вы должны оптимизировать только тогда, когда вы написали наиболее читаемую и самую простую вещь. Если после профилирования вы определите, что программное обеспечение слишком медленно, вы должны оптимизировать.
- Оптимизация должна выполняться на раннем этапе жизненного цикла проекта. Оптимизация должна быть запланирована, но должна быть выполнена разумно.
На первый взгляд, они кажутся довольно противоположными взглядами. Дело в том, что я вижу заслугу в обеих школах мысли. Я также могу думать о временах, когда оба эти способа мышления помогли мне написать лучшее и быстрое программное обеспечение.
Есть ли способ примирить эти две идеи? Есть ли средняя точка? Есть ли время, когда одна идея - лучший инструмент для работы? Или я представляю ложную дихотомию, и обе точки зрения могут сосуществовать мирно?