
Чтобы стать лучшим программистом, научитесь стать лучшим редактором
5 апреля 2023 г.Скажем, писатель пишет первый набросок эссе и думает про себя: "Все готово! Я готов к следующему эссе».
Такого не говорит ни один писатель!
Любой писатель признает, что текст находится в редактировании. Это трюизм для написания прозы. Это также азбучная истина для написания кода.
Если вы хотите стать лучшим писателем кода, думайте как писатель прозы и станьте великим «редактором». Оглядываясь назад на готовое решение, вы можете сделать это.
Оглядываясь назад
Оглядываться назад — это последний этап процесса решения задач, состоящего из четырех частей, описанного в книге Джорджа Полиа "Как это решить", в которой решение задач рассматривается с математической точки зрения. По словам Пойлы, оглянуться назад означает «пересмотреть и пересмотреть результат и путь, который к нему привел».
Скажем, вы решаете проблему. Прежде чем перейти к следующей проблеме, оглянитесь на свою работу: извлеките из нее уроки, улучшите ее и закрепите свои знания.
Есть много способов оглянуться на ваше завершенное решение. Фактически, я написал книгу, в которой рассказывается о семи различных стратегиях. Сегодня я хочу поделиться двумя из них.
Выбрать другой маршрут
Во-первых, после того как вы решили проблему, попробуйте решить ее другим способом.
Обычно наша первая идея не самая лучшая. Вот почему писатели прорабатывают несколько черновиков, прежде чем назвать статью или книгу законченной. Художники часто работают над несколькими эскизами, прежде чем приступить к самой работе.
Думайте о своем первом решении как о первом черновике. Попробуйте секунду. Попробуйте третий. По ходу дела вы внесете улучшения.
Чтобы получить поток идей, задайте себе два вопроса:
- Есть ли разделы кода, которые сбивают с толку или содержат много логики?
- Могу ли я улучшить временную или пространственную сложность моего решения?
Ответы на эти вопросы могут дать вам представление об использовании другой структуры данных или о другом подходе.
Объясните
После того, как вы решите задачу, прочитайте свой код вслух и объясните, что происходит на каждом этапе пути.
Объяснение отличается от описания. Вместо того, чтобы говорить «Я использую re.findall()» и переходить к следующей строке кода, объясните, что делает re.finall() и почему вы используете это. Например, вы можете сказать: "Чтобы получить уникальные элементы, я использую функцию регулярного выражения re.findall(), которая будет сопоставлять все строчные буквы в предложении".
Объяснение кода — это проверка знаний: если вы не можете дать краткое и простое объяснение строки кода, значит, прежде чем двигаться дальше, нужно еще поучиться.
Всегда стоит потратить время, чтобы действительно понять, что нового или незнакомого для вас. Концепции программирования появляются снова и снова. Так что, если вы не совсем понимаете, что такое set() сейчас и зачем вам его использовать, вы, вероятно, будете в таком же замешательстве через неделю или месяц, когда он появится снова. р>
Когда вы озвучиваете свой код, вы также выявляете ошибки и возможности сделать его лучше. Это потому, что когда вы читаете код вслух, вы задействуете другое чувство: слух. То, что вы ловите ушами, отличается от того, что вы ловите глазами. Если ваши слова звучат неуместно, возможно, есть что улучшить.
Инвестиции
Редактирование вашей работы с оглядкой на прошлое требует времени и усилий. Так зачем это делать?!
Во-первых, это прояснит ваше мышление. По мере того, как вы будете пересматривать, повторять и улучшать свое решение, вы поймете, что вы намеревались сделать, почему и как сделать его лучше.
Во-вторых, обучение закрепится, поэтому вам не придется постоянно заново изучать одни и те же понятия в будущих задачах.
В-третьих, вы научитесь писать качественный код. Любой, кому приходилось переписывать всю программу (или большие ее части) или тратить уйму времени на поиск ошибки, может подтвердить силу написания качественного кода. Да, это требует времени в начале. Но вы в будущем будете очень благодарны.
Думать как писатель — значит вкладываться в себя как программиста. В конце концов, у писателей прозы и кода одно и то же: ясное общение.
:::информация Также опубликовано здесь.
:::
Оригинал
Recent Post
-
Воспроизводимые инструменты GO: что вам нужно знать
4 августа 2025 г. -
TypeScript обеспечивает лучший опыт разработчиков с новыми улучшениями
4 августа 2025 г. -
Наше общение больше не принадлежит нам
4 августа 2025 г. -
Создание заводской тестовой структуры для API низкого уровня ECU в системах HIL на основе CAN
4 августа 2025 г. -
Реальность в C: философское программирование
3 августа 2025 г.
Categories
- Python
- blockchain
- web
- hackernoon
- вычисления
- вычислительные компоненты
- цифровой дом
- игры
- аудио
- домашний кинотеатр
- Интернет
- Мобильные вычисления
- сеть
- фотосъемка видео
- портативные устройства
- программного обеспечения
- телефон и связь
- телевидение
- видео
- мир технологий
- умные гиды
- облако
- искусственный интеллект
- се
- Samsung
- умные города
- digitaltrends
- отели
- Startups
- Venture
- Crypto
- Apps
- безопасность
- техника и работа
- cxo
- мобильность
- разработчик
- 5г
- майкрософт
- инновации
- Права и свободы
- Законодательство и право
- Политика и общество
- Космическая промышленность
- Информационные технологии
- Технологии
- Образование
- Научные исследования
- Автомобильная промышленность
- Программная инженерия
- IT и технологии
- Веб-разработка
- Программирование
- Автоматизация
- Карьерный рост
- Программирование и анализ данных
- Трудоустройство
- Политика
- Искусственный интеллект
- ИТ-технологии
- Программное обеспечение
- Экологическая политика
- Образование и рынок труда
- Политика и право
- Microsoft Teams и SharePoint
- Информационная безопасность
- Кибербезопасность
- Налоги
- Образование и карьера
- Интернет и технологии
- Технологии, Государственные услуги
- Политика и технологии
- Разработка программного обеспечения
- Разработка ПО
- Машинное обучение
- Налогообложение, технологии, открытый исходный код
- Финансы и налоги
- Технологии, Интернет, Экология
- Интернет, безопасность
- Технологии и политика
- Операционные системы
- Профессиональная разработка
- Технологии, Безопасность
- Интернет и общество
- Финансовая индустрия
- Налоговый учёт
- Общественное здравоохранение
- Технологическая отрасль
- Юриспруденция
- Технологии и государство
- Здоровье и фитнес
- IT-инфраструктура
- Технологии и ИИ
- Здравоохранение
- IT
- Технологии, Экономика
- Музыка и технологии
- Здоровье и питание
- IT и безопасность
- Бизнес и предпринимательство
- Технологии, Программное обеспечение
- Технологии и инновации
- Технологии, данные, этика
- Технологии и Интернет
- Технологии и SaaS
- Медицина и здравоохранение
- Онлайн-видеосервисы
- Финансы и технологии
- Чтение и саморазвитие
- Экономика и бизнес
- Безопасность данных
- Удаленная работа
- Авиация и технологии
- Технологии, Игры
- Энергетика
- Социальные сети, безопасность, технологии
- Саморазвитие
- Безопасность информации
- Бизнес и карьера
- Технологии и отношения
- Игровая индустрия
- Компьютерная индустрия
- Математика, Искусственный интеллект
- Наука и технологии
- Технологии и безопасность
- Технологии, Удаленная работа, Бизнес
- Видеоигры
- Технологии, Искусственный интеллект, Этика
- Технологии, социальные сети, 6G
- Технологии, Программирование, AI, Разработка ПО
- Программирование, Разработка ПО, Технологии
- Животные
- Технологии, Искусственный интеллект
- Программирование, карьера, технологии, обучение
- Бизнес и технологии
- Технологии, Безопасность данных
- Астрономия и физика
- Продуктивность, личное развитие
- Медиа и Технологии
- Программирование и Искусственный Интеллект
- Социальные сети
- Политика и экономика
- Технологии, Медицина, Искусственный интеллект
- Технологии и управление
- Космос и астрономия
- Общество и политика
- Космические исследования
- Веб-дизайн
- Искусственный интеллект и безопасность данных
- Технологии, Безопасность, Конфиденциальность
- Экологическая проблема
- Технологии, Погода
- Авиация
- Транспортная сфера
- Технологии и бизнес
- Игровая промышленность
- Телевидение и реклама
- Аналитика данных
- Технологии и кибербезопасность
- Маркетинг
- Технологии и гаджеты
- Технологии, Авиация, Инновации
- Финансы и инвестиции
- Технологии и общество
- Рыночный анализ
- Космология
- Данные и бизнес
- IT и программирование
- Технологии и право
- Программирование и разработка
- Медицинские технологии
- Авиационная промышленность
- Технологии и искусственный интеллект
- Генетическая инженерия
- Бизнес и инвестиции
- Компьютерная промышленность
- Психология и социология
- Образование и технологии
- Рынок труда
- Технологии, Стартапы
- Технологии, Приватность, Чтение
- Маркетинг и продажи
- Виртуальная реальность
- Технологии, Смартфоны, Маркетинг
- Технологии, Бизнес, Личностный рост
- Экологические проблемы
- Экономика и технологии
- IT и карьера
- Интернет и безопасность
- Разработка и технологии
- Биотехнологии
- Интернет-магазины, кибербезопасность
- Финансы
- Безопасность и технологии
- Экономика
- Защита данных
- Data Science
- Карьера и работа
- Финансовый успех, мошенничество, маркетинг
- Безопасность
- Экология
- Космическая индустрия
- Программирование, Python, Обучение
- Технологии искусственного интеллекта
- Технологии, Дизайн, iOS
- Программирование, DevOps, Kubernetes
- Социальные сети и пропаганда
- Корпоративная этика
- Управление IT-инфраструктурой
- Здоровье и медицина
- Медицина
- Медицинская промышленность
- Разработка и дизайн
- Искусственный интеллект, Диагностика систем
- Образование и психология
- Технологии, Автомобильная промышленность
- Автомобили и путешествия
- Астрономия и космология
- Программирование и технологии
- IT, работа в офисе, эмоциональный интеллект
- Компьютерная техника
- Здоровье и благополучие
- Управление персоналом
- Политика и управление
- Бизнес и экономика
- Социальные сети, Пропаганда, Информационная безопасность
- Технологии и автоматизация
- Геймдизайн
- Экология и технологии
- CRM-системы, IT-инфраструктура
- Права человека
- Цифровая цензура, свобода слова, технологии
- Технологии, Искусственный интеллект, Работа
- Наука о данных
- Астрономия, Наука
- Интернет и цифровые технологии
- Технологии, управление
- Интернет и связь
- Технологии и конфиденциальность
- Интернет и свобода слова
- Психология и социальные науки
- Книги и литература
- Работа и карьера
- Финансовые технологии
- Психология и саморазвитие
- IT, программирование, сети
- Технологии, Видеоигры
- Экология и энергетика
- Космонавтика
- Медицина и технологии
- Игры и развлечения
- Музыкальная индустрия
- Логистика и складирование
- Бизнес и финансы
- Экология и окружающая среда
- Правозащита
- Социальные сети и дезинформация
- Технологии и рынок труда
- Технологии, Искусственный интеллект, Рынок труда
- Технологии и будущее
- Медицина и здоровье
- Социальные медиа
- Экология, политика, общество
- Экономика и Финансы
- Разработка игр
- Пропаганда и дезинформация
- Медицинские исследования
- Онлайн-знакомства
- Политика и СМИ
- Энергетика и электромобили
- Климатические изменения
- Технологии, Рынок труда
- IT и управление данными
- Безопасность и кибербезопасность
- Интернет-технологии
- Психология и личностное развитие
- Технологии, Мессенджеры
- Цифровые технологии
- Здоровье и самосовершенствование
- Технологии и AI
- Технологии и спорт
- IT, Разработка программного обеспечения
- Экология и климат
- Космос и технологии
- Юридическая сфера
- Безопасность в интернете
- Программирование, Искусственный Интеллект, Качество ПО
- Технологии и мессенджеры
- Социальная справедливость
- Технологическая индустрия
- Личностное развитие, Time-менеджмент, Психология
- Бизнес и менеджмент
- Технологии, Микросхемы, Автономные системы
- Фриланс и предпринимательство
- Социальные сети и искусственный интеллект
- Криминальные дела
- Социальные сети, Маркетинг
- Энергетика и экология
- Технологии, Искусственный Интеллект, Полиция
- Программирование, Искусственный интеллект, Рынок труда
- Социальные сети, дезинформация, анализ данных
- Потребительские права
- Образование и наука
- Технологии и правосудие
- Технологии, Безопасность, Автомобили
- Энергетика и окружающая среда
- Личностное развитие
- Технологии и экономика
- Медиа и коммуникации
- Миграция и иммиграция
- Личностный рост
- Налоговая система
- Медиа и телевидение
- Интернет и телекоммуникации
- Технологии, Кибербезопасность
- Здоровье
- Социальные сети и карьера
- Политика и инфраструктура
- Предпринимательство
- Промышленность программного обеспечения
- СМИ и коммуникации
- Медиа и Общество
- Медицина и генетика
- Веб-разработка и дизайн
- Технологии, процессоры
- IT-индустрия
- Кинопроизводство и технологии
- Транспорт
- Текстовый анализ
- Технологии, дизайн интерфейсов
- Офисные приложения
- Технологии, Онлайн-сервисы
- Медицина и биотехнологии
- Общество и технологии
- Экономика и рынок труда
- Искусственный интеллект, программирование, аналитика
- Технологии, следствие
- Сетевые технологии
- Технологии и веб-разработка
- Программирование, Обучение, Практика
- Коммуникации и ИТ
- Технологии, Карьера, Экономика
- Технологии и транспорт
- Здравоохранение и медицина
- Технологии, Государственное управление
- IT-безопасность
- IT и разработка
- Финансы и экономика
- Социальные сети, Общество, Сообщества
- IT-разработка
- СМИ и политика
- Конфиденциальность и безопасность
- Экономика и политика
- Технологии и общественная жизнь
- Бизнес и этика
- Безопасность и защита информации
- Технологии, бизнес
- Интернет и цензура
- Государственное регулирование
- Игры, Технологии
- Технологии и оптимизация
- Технологии ИИ и машинного обучения
- Технологии, IT, карьера
- IT и программное обеспечение
- Право и преступность
- Криминал и Правоохранительные Органы
- Технологии и энергетика
- Нефтяная промышленность
- Социальные конфликты
- Преступность и безопасность
- Таможенная очистка
- Медиа и журналистика
- Технологии и разработка приложений
- Телекоммуникации
- Консалтинг и управление
- Управление человеческими ресурсами