Все новое - хорошо забытое старое 🫠

Я — MADTeacher, автор книг по Dart/Flutter/ИИ в программировании и преподаватель. На канале разбираю свежие фичи языка и фреймворка, объясняю, как и когда их применять, и показываю всё на живых примерах кода. Меньше воды — больше практики: от конструкторов и метапрограммирования до производительности, интеропа и тестирования, а также поднимаю тему использования ИИ для разработки программных продуктов. Если хотите понимать Dart и Flutter в эпоху ИИ глубже — вы по адресу.

Роб Пайкоптимизацияизмерение

Неважно, пишете вы код сами или у вас на компьютере уже собственная плантация с робо-кодерами, следующие 5 правил Роба Пайка (один из создателей Go и прочих крутых штук в IT) всегда полезно держать перед глазами. Лично мне они напоминают одну простую истину - скорость написания кода не равна качеству получаемых решений 😄

  1. Нельзя заранее сказать, где именно программа будет тратить свое время. Узкие места возникают в самых неожиданных местах, поэтому не пытайтесь гадать и заранее вставлять «ускоряющий хак», пока не доказали, что именно там находится «бутылочное горлышко».

  2. Измеряйте. Не оптимизируйте код на скорость, пока не провели измерения, и даже после этого не делайте этого, если только одна часть кода не начинает заметно доминировать над остальными.

  3. Хитроумные алгоритмы медленны, когда n мало, а n обычно мало. Пока вы не уверены, что n будет большим - не усложняйте. (И даже если n действительно становится большим, сначала примените Правило 2.)

  4. Хитроумные алгоритмы содержат больше ошибок, чем простые, и их гораздо труднее реализовать. Используйте простые алгоритмы, как и простые структуры данных.

  5. Данные решают всё. Если вы выбрали правильные структуры данных и хорошо все организовали, алгоритмы почти всегда станут очевидны сами собой. В программировании главное - структуры данных, а не алгоритмы.

Вне зависимости от времени и места, эти инженерные практики останутся актуальны еще не одно десятилетие! Поэтому берем тетрадку, ручку или файлик AGENTS.md и записываем

Ни когда не знаешь, где прилетит, поэтому для поиска «бутылочного горлышка» - измеряй. Не пиши без необходимости слишком хитровые****** «хитрый» код - упрощай. Но самое главное - правильно организуй данные!

Чёрно-белое фото пожилого мужчины с длинной бородой и приподнятым указательным пальцем — кадр выглядит наставническим и задумчивым, иллюстрация к заметке.
Символическое чёрно-белое фото для иллюстрации наставнической темы о правилах оптимизации кода.

Читайте так же