Я стикався з багатьма людьми, які догматично проти чогось, що можна вважати оптимізацією в загальному англомовному розумінні цього слова, і вони дуже часто цитують дослівно (часткову) цитату "передчасна оптимізація - корінь усього зла" як виправдання їхньої позиції, маючи на увазі те, що вони тлумачать все, про що я говорю, "передчасну оптимізацію". Однак ці погляди іноді настільки смішно закріплюються, що вони майже відкидають будь -які відхилення алгоритмічних чи структур даних від найчистішої "наївної" реалізації ... або принаймні будь-які відхилення від того, як вони робили справи раніше.Як можна наблизитись до таких людей, щоб змусити їх знову "відкрити вуха" після того, як вони закрили слухання про "продуктивність" чи "оптимізацію"? Як я обговорюю тему проектування / впровадження, яка впливає на продуктивність, без того, щоб люди миттєво думали: "Цей хлопець хоче провести два тижні на десяти рядках коду?"
Тепер позиція щодо того, "чи вся оптимізація є передчасною і тому злою", чи ні, вже висвітлювалася тут, як і в інших куточках Мережі , і вже обговорювалося, як визнати, коли оптимізація передчасна і тому зла , але на жаль, все ще є люди в реальному світі, які не так вже й відкриті до викликів своєї віри в антиоптимізацію.
Попередні спроби
Кілька разів я намагався надати повну цитату від Дональда Кнута , щоб пояснити, що "передчасна оптимізація погана" ↛ "вся оптимізація погана":
Слід забути про невелику ефективність, скажімо, про 97% часу: передчасна оптимізація - корінь усього зла. Але ми не повинні пропускати наші можливості на критичних 3%.
Однак, надаючи цілу цитату, ці люди іноді насправді стають більш впевненими, що те, що я роблю, - це передчасна оптимізація ™ і копатись та відмовлятися слухати. Це майже так, якби слово "оптимізація" їх лякає: я кілька разів міг запропонувати фактичні зміни коду, що покращують продуктивність, не ветуючи їх, просто уникаючи використання слова "optimiz (e | ation)" ( а також "продуктивність" - це слово теж страшно), а замість цього використовується якийсь вираз на зразок "альтернативна архітектура" або "покращена реалізація". З цієї причини насправді здається, що це справді є догматизмом, а не вони насправді оцінюють те, що я говорю критично, а потім відкидаю це як не потрібне та / або занадто дороге.