Чтобы стать лучшим программистом, научитесь стать лучшим редактором

Чтобы стать лучшим программистом, научитесь стать лучшим редактором

5 апреля 2023 г.

Скажем, писатель пишет первый набросок эссе и думает про себя: "Все готово! Я готов к следующему эссе».

Такого не говорит ни один писатель!

Любой писатель признает, что текст находится в редактировании. Это трюизм для написания прозы. Это также азбучная истина для написания кода.

Если вы хотите стать лучшим писателем кода, думайте как писатель прозы и станьте великим «редактором». Оглядываясь назад на готовое решение, вы можете сделать это.

Оглядываясь назад

Оглядываться назад — это последний этап процесса решения задач, состоящего из четырех частей, описанного в книге Джорджа Полиа "Как это решить", в которой решение задач рассматривается с математической точки зрения. По словам Пойлы, оглянуться назад означает «пересмотреть и пересмотреть результат и путь, который к нему привел».

Скажем, вы решаете проблему. Прежде чем перейти к следующей проблеме, оглянитесь на свою работу: извлеките из нее уроки, улучшите ее и закрепите свои знания.

Есть много способов оглянуться на ваше завершенное решение. Фактически, я написал книгу, в которой рассказывается о семи различных стратегиях. Сегодня я хочу поделиться двумя из них.

Выбрать другой маршрут

Во-первых, после того как вы решили проблему, попробуйте решить ее другим способом.

Обычно наша первая идея не самая лучшая. Вот почему писатели прорабатывают несколько черновиков, прежде чем назвать статью или книгу законченной. Художники часто работают над несколькими эскизами, прежде чем приступить к самой работе.

Думайте о своем первом решении как о первом черновике. Попробуйте секунду. Попробуйте третий. По ходу дела вы внесете улучшения.

Чтобы получить поток идей, задайте себе два вопроса:

  • Есть ли разделы кода, которые сбивают с толку или содержат много логики?
  • Могу ли я улучшить временную или пространственную сложность моего решения?

Ответы на эти вопросы могут дать вам представление об использовании другой структуры данных или о другом подходе.

Объясните

После того, как вы решите задачу, прочитайте свой код вслух и объясните, что происходит на каждом этапе пути.

Объяснение отличается от описания. Вместо того, чтобы говорить «Я использую re.findall()» и переходить к следующей строке кода, объясните, что делает re.finall() и почему вы используете это. Например, вы можете сказать: "Чтобы получить уникальные элементы, я использую функцию регулярного выражения re.findall(), которая будет сопоставлять все строчные буквы в предложении".

Объяснение кода — это проверка знаний: если вы не можете дать краткое и простое объяснение строки кода, значит, прежде чем двигаться дальше, нужно еще поучиться.

Всегда стоит потратить время, чтобы действительно понять, что нового или незнакомого для вас. Концепции программирования появляются снова и снова. Так что, если вы не совсем понимаете, что такое set() сейчас и зачем вам его использовать, вы, вероятно, будете в таком же замешательстве через неделю или месяц, когда он появится снова. р>

Когда вы озвучиваете свой код, вы также выявляете ошибки и возможности сделать его лучше. Это потому, что когда вы читаете код вслух, вы задействуете другое чувство: слух. То, что вы ловите ушами, отличается от того, что вы ловите глазами. Если ваши слова звучат неуместно, возможно, есть что улучшить.

Инвестиции

Редактирование вашей работы с оглядкой на прошлое требует времени и усилий. Так зачем это делать?!

Во-первых, это прояснит ваше мышление. По мере того, как вы будете пересматривать, повторять и улучшать свое решение, вы поймете, что вы намеревались сделать, почему и как сделать его лучше.

Во-вторых, обучение закрепится, поэтому вам не придется постоянно заново изучать одни и те же понятия в будущих задачах.

В-третьих, вы научитесь писать качественный код. Любой, кому приходилось переписывать всю программу (или большие ее части) или тратить уйму времени на поиск ошибки, может подтвердить силу написания качественного кода. Да, это требует времени в начале. Но вы в будущем будете очень благодарны.

Думать как писатель — значит вкладываться в себя как программиста. В конце концов, у писателей прозы и кода одно и то же: ясное общение.

:::информация Также опубликовано здесь.

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE