Я сталкивался со многими людьми, которые догматично настроены против всего, что можно считать «оптимизацией» в общем англоязычном смысле этого слова, и они очень часто цитируют дословно (частичную) цитату «преждевременная оптимизация - корень всего зла». в качестве оправдания своей позиции, подразумевая, что они интерпретируют все, о чем я говорю, как «преждевременную оптимизацию». Тем не менее, эти представления иногда настолько нелепо укоренились, что они отклоняют практически любые отклонения алгоритмического или структурного характера от самой «наивной» реализации ... или, по крайней мере, любые отклонения от того, как они делали вещи раньше.Как можно подойти к таким людям так, чтобы они снова «открыли уши» после того, как они перестали слышать о «производительности» или «оптимизации»? Как мне обсудить тему проектирования / реализации, которая влияет на производительность, не заставляя людей сразу думать: «Этот парень хочет потратить две недели на десять строк кода?»
Теперь позиция того, является ли «всякая оптимизация преждевременной и, следовательно, злой» или нет, уже освещалась здесь, а также в других уголках сети , и уже обсуждалось, как распознать, когда оптимизация преждевременна и, следовательно, зла , но к сожалению, в реальном мире все еще есть люди, которые не настолько открыты для вызовов своей вере в антиоптимизацию.
Предыдущие попытки
Несколько раз я пытался предоставить полную цитату от Дональда Кнута , чтобы объяснить, что «преждевременная оптимизация плоха», «вся оптимизация плоха»:
Мы должны забыть о малой эффективности, скажем, в 97% случаев: преждевременная оптимизация - корень всего зла. Однако мы не должны упускать наши возможности в этих критических 3%.
Однако при предоставлении всей цитаты эти люди иногда на самом деле становятся более убежденными в том, что я занимаюсь преждевременной оптимизацией ™, копаются и отказываются слушать. Это почти как если бы слово «оптимизация» пугало их: в нескольких случаях я смог предложить реальные изменения кода, улучшающие производительность, без наложения на них вето, просто избегая использования слова «optimiz (e | ation)» ( а также «производительность» - это слово тоже страшно) и вместо этого используется какое-то выражение, например «альтернативная архитектура» или «улучшенная реализация». По этой причине действительно кажется, что это действительно догматизм, а не то, что они на самом деле оценивают то, что я говорю, критически, а затем отвергаем это как ненужное и / или слишком дорогое.