Программирование
Привычки эффективного программирования, которые вы можете начать развивать прямо сейчас
Одно можно сказать наверняка про программирование — оно сложное. Чтобы написать хороший фрагмент кода, требуется много ума и сосредоточенности. Решение реальных проблем с помощью кода — это непросто.
Одно можно сказать наверняка про программирование — оно сложное. Чтобы написать хороший фрагмент кода, требуется много ума и сосредоточенности. Решение реальных проблем с помощью кода — это непросто.
Программирование — одна из тех профессий, где нужно сочетать творчество с логикой.
Последние несколько месяцев я с каждым днем стараюсь становиться лучше. По пути я обнаружил несколько привычек программирования, которые хорошо окупаются в долгосрочной перспективе. Они помогают прямо или косвенными путями, которых вы можете даже не ожидать.
Я делюсь теми навыками, которые, как мне кажется, вам следует начать развивать прямо сейчас.
1. Планируйте проект перед написанием кода
Если вы спросите 100 разработчиков о самых больших ошибках, которые делают junior разработчики, то 95 из них ответят, что они не планируют и не проектируют, а сразу приступают к написанию кода.
Если вы занимаетесь чем-то подобным, то я бы порекомендовал вам выделить время на планирование своих проектов. Наличие дорожной карты значительно упрощает процесс разработки.
Инструменты, которые вы будете использовать — дорожная карта (roadmap) и функции, которые вы будете разрабатывать. Эти вещи очень важны при создании любого программного обеспечения. Наверняка вы не хотите делать законченный проект только для того, чтобы понять, что он вам не нравится.
Поищите в Интернете компоненты или части приложения, которые можно использовать повторно.
Наконец, не впадайте в чрезмерное планирование и не откладывайте на потом. Важно начать.
2. Создайте коллекцию сниппетов
Мне нравится создавать свою собственную коллекцию фрагментов кода, которую я могу просмотреть в любое время и повторно использовать в моем текущем проекте.
Начните сохранять фрагменты кода всякий раз, когда почувствуете, что они могут быть полезны в будущем. Хорошее практическое правило: если вы написали один и тот же код более двух раз в разных проектах, самое время сохранить его в своей коллекции.
Обязательно хорошо задокументируйте это, чтобы знать, какой фрагмент кода что выполняет. Цель — ускорить процесс разработки. Вам нужны ключевые слова, чтобы легко найти нужный сниппет.
Хорошим примером является использование регулярных выражений, так что вам не придется снова и снова искать в Интернете формулы, чтобы точно сопоставить результат с желаемым значением.
3. Имейте распорядок дня
Одна из самых больших уловок, который я обнаружил во время карантина, заключается в том, что рутина упрощает выполнение любой задачи в 100 раз. С ней нет двусмысленности, никакой умственной нагрузки на то, чтобы решить, что делать дальше, и никакого мотивационного фактора.
Если у вас есть расписание писать код в определенное время дня, вы автоматически начинаете мыслить о написании кода. Это хорошо подходит для тех дней, когда у вас нет мотивации заниматься программированием.
Я решил по утрам писать. По прошествии целого месяца мне кажется, что слова сами начинают течь, как только я в это время сажусь за компьютер. То же самое и с программированием. Когда у вас есть распорядок дня, вы сможете выполнять свои задачи с гораздо меньшими усилиями.
Другой способ вызвать те же эффекты — использовать одну и ту же песню на повторе для работы. Моя любимая песня для письма — La Grande Jatte Исаака. Для программирования я слушаю Angels от LAKEY INSPIRED.
4. График углубленных работ
Термин «глубокая работа» (deep work) впервые был введен Кэлом Ньюпортом в его одноименной книге. Если вы еще не читали, очень рекомендую книгу.
Глубокая работа означает непрерывный отрезок времени, когда вы сосредотачиваетесь на текущей задаче, не отвлекаясь. В глубокой работе вы полностью погружаетесь в задачу.
Когда вы выполняете глубокую работу, продуктивность зашкаливает.
Но не запускайте ее случайно, когда захотите, заранее запланируйте 2–3 часа глубокой работы. Мне нравится планировать это время каждый день в одно и то же время, чтобы я тоже мог интегрировать его в свой распорядок дня.
5. Делайте небольшие одноцелевые функции и тестируйте их
В книге «Чистый код» Роберт С. Мартин предлагает писать небольшие функции, которые выполняют только одну задачу.
Это значительно упрощает и ускоряет процесс тестирования и отладки. Вам не нужно редактировать все 20 строк функций, чтобы найти небольшую ошибку. Вы можете сразу посмотреть на эти небольшие функции и сказать, работают они должным образом или нет.
Со временем у меня выработалась привычка тестировать свои функции по мере создания. Поскольку функции небольшие, на тестирование одной из них уходит всего две-три минуты.
6. Добавляйте комментарии для себя в будущем
Эта простая маленькая привычка изменила правила игры для меня. Были сотни случаев, когда я забывал, зачем написал какой-то фрагмент кода. Я сам написал код, приложение было моим, но я не мог понять, зачем он там. Требовалось много времени и усилий, чтобы снова во всем разобраться.
Одна привычка, которая спасла меня от всей этой суеты, заключалась в написании кода, объясняющего «почему». Для любого фрагмента кода я пишу «почему» вместо «что» этот код делает. Вы должны писать чистый код, который сам объяснит «что».
Добавьте содержательные комментарии в него. Ваше будущее, ваша команда и все, кто читает ваш код, будут вам благодарны.
Привычки эффективного программирования
В условиях изоляции я много внимания уделял тому, чтобы изменить свою жизнь к лучшему. Было много микропривычек, которые не улучшили мое программирование напрямую, но очень мне помогли. Некоторые из них:
- Бутылка с водой возле моего стола.
- Интервальный взгляд в окно.
- Прямая посадка.
А вот 6, о которых я написал:
- Планируйте свои проекты, прежде чем погрузиться в программирование
- Составьте коллекцию полезных фрагментов кода
- Сделайте распорядок дня.
- Запланируйте глубокие работы
- Создавайте специализированные функции и тестируйте их
- Добавляйте содержательные комментарии.
-
Интегрированные среды разработки2 недели назад
Лучшая работа с Android Studio: 5 советов
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2024.43
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2024.44
-
Исследования2 недели назад
Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?