Посмотрите этот, без преувеличения, выдающийся доклад "GoingNative 2013 C++ Seasoning".
Sean Parent начинает выступление со слайда с куском кода из некоторой версии Chromium OS. Это цикл со вложенными if (за что я строго ругаю даже начинающих :), который, судя по всему, выполняет перестановку панелей. Да, вот такой ужасный джуниорский код пишут в Гугле "знатоки алгоритмов", прошедшие, типа, через сложнейшие собеседования.
И всего несколько слайдов спустя Parent преобразует этот код в несколько строк вообще без циклов и условий: более читабельный, более эффективный, более простой и более общий. Это тот идеал, к которому мы стремимся.
Самый продуктивный подход в понимании цикла -- это когда он вообще не будет написан :)
(подробнее по этой теме в СильныхИдеях скоро будет материал по правильному пониманию циклов как частных версий более сильных абстракций).
Post #759
883
- 👍 12
- 👏 3
- 🔥 1
- 🫡 1