Ваш очень хороший вопрос, который возникает почти в каждом куске кода, каким бы простым или сложным он не был написан любым программистом, который хочет назвать себя профессионалом.
Я пытаюсь вспомнить и иметь в виду, что читатель, недавно пришедший в мой код, имеет почти тот же грубый взгляд на проблему и тот же простой (возможно, грубый) подход, который я изначально использовал.Затем, по мере того, как я получаю более глубокое понимание проблемы и пути к ее решению становятся более ясными, я стараюсь писать комментарии, которые отражают это лучшее понимание.Иногда мне это удается, и эти комментарии помогают читателям, и особенно они помогают мне, когда я возвращаюсь к коду шесть недель спустя.В любом случае, я пишу множество комментариев, и, когда я этого не делаю (потому что внезапное озарение вызывает у меня возбуждение; я хочу видеть, как оно работает; мой мозг зажжен), я почти всегда очень сожалею об этом позже.
Было бы замечательно, если бы я мог поддерживать два параллельных потока кода: наивный способ и более сложный оптимизированный способ.Но мне это никогда не удавалось.
Суть в том, что если я могу писать четкие, полные, лаконичные, точные и актуальные комментарии, это лучшее, что я могу сделать.
Еще одна вещь, которую вы уже знаете: оптимизация, как правило, не означает подкладывание тонны кода в одну строку исходного кода, возможно, путем вызова функции, аргумент которой является другой функцией, аргумент которой является другой функцией, аргумент которой еще не задандругая функция.Я знаю, что некоторые делают это, чтобы избежать временного хранения значения функции.Но это очень мало (как правило, ничего) для ускорения кода, и это сука, чтобы следовать.Нет новостей для тебя, я знаю.