Программирование развивает хорошие и плохие привычки. Они влияют на код, на жизнь и здоровье. Избавимся от плохих привычек и оставим хорошие!
В течение жизни человек приобретает и теряет разные привычки. Этому способствуют обстоятельства, общество и профессиональная деятельность.
К счастью, плохие привычки можно побороть, если знать, как они «захватывают» наш мозг.
У любой привычки есть цикл:
- Сигнал – триггер, который активируется при различных обстоятельствах.
- Процесс – эмоциональная или практическая реакция организма на сигнал.
- Награда – зачастую мнимая польза или чувство удовлетворения.
Например, вы испытываете стресс на работе – Сигнал. Вы курите – Процесс, а после чувствуете спокойствие и расслабленность – Награда.
Привычка формируется, когда Сигнал ассоциируется с определённым Процессом. Когда такая связка сформировалась в сознании, вы начинаете повторять цикл привычки снова и снова.
В программировании, как и в любой другой деятельности, у человека появляются привычки. И к сожалению, не все из них полезны.
Не бойтесь удалять старый код
Стремление что-то улучшить точно не назовёшь плохой привычкой. Переписать и закомментировать неработающий код – это хорошая идея. Но после проделанной работы старый код нужно удалить! Если хранить старый код в виде комментариев, то со временем его станет больше, и он начнёт отвлекать от актуальных участков.
Представьте, что знакомый попросил вас реализовать новые фичи в своём проекте. Вы скачиваете его код и видите, что закомментированных участков больше, чем работающего кода. Они будут отвлекать вас и портить читаемость кода. Вы точно не будете в восторге.
Сюда же входят неиспользуемые функции. Когда-то они были частью приложения, но с развитием проекта перестали вызываться. Будьте уверены, новый разработчик потратит время на их анализ.
Выход: система контроля версий. Если вы ещё не используете её в своих проектах, сделайте это сейчас, и не бойтесь удалять старый код!
Боитесь осваивать что-то новое? Тогда знакомьтесь со следующей плохой привычкой.
Зона комфорта
Ни для кого не секрет, что разработка – это динамичная сфера с непрерывным процессом обучения. Иногда может казаться, что осваивать что-то новое ни к чему. Например, когда вы работаете с Legacy системами или не горите желанием карьерного роста. Но даже в этом случае вам нужно учиться новому.
Посмотрите на IT-индустрию, как на поток. Вы – часть этого потока. Рано или поздно вам придётся учить что-то новое, чтобы оставаться «на плаву». Время, проведённое в комфортных условиях с одним фреймворком «в руках», сделает вас ленивым и неквалифицированным в будущем. В итоге вам придётся прилагать колоссальные усилия, чтобы освоить что-то новое.
Выход: старайтесь поддерживать свою способность к обучению. Не зацикливайтесь на одном языке и фреймворке. Гораздо важнее не отставать от новых стандартов языков, веба и подходов к разработке.
Не ленитесь экспериментировать с технологиями, которые не имеют отношения к вашей области. Вы поймёте тренды и направления упомянутого «потока».
Изучение нового кажется вам непреодолимой преградой? Искорените ещё одну плохую привычку.
Включите любопытство
Чтобы распознать эту привычку, нам придётся забыть на минутку о коде, карьере и даже интернете!
Не бойтесь, это ненадолго ;)
Представим, что вы живёте в те времена, когда ещё не было интернета. Если вы – мужчина, и ваш отец – фермер, то и вы с большой вероятностью станете фермером. Это тяжёлый физический труд, отсутствие нормального обучения, доступа к информации, и, как итог, – слепое движение по течению.
Не очень, правда?
А теперь очнитесь и вспомните, что на дворе 21-й век! Информация никогда не была такой доступной. Конечно, это не дарит вам безграничные возможности, но люди, которые пользуются преимуществом доступа к информации, – читают книги, задают вопросы, следуют своему любопытству, – имеют больше возможностей для представления и формирования успешного будущего.
Не останавливайтесь на полученных знаниях: всегда желайте большего.
Не злоупотребляйте обобщённым программированием
Пытаетесь писать код, который будет обрабатывать всё, что вы ему скормите? Расслабьтесь: для 90% приложений не возникнет необходимости в абстрактном коде.
Главная причина абстрагирования – повторное использование. Зачем описывать 10 ситуаций в своём компоненте, когда приложение использует всего 2?
Выход: не создавайте в коде то, что не нужно. Вы тратите своё время и время клиента. Выделяйте классы в отдельные сущности при частом использовании в разных проектах.
Не зацикливайтесь на ООП
ООП облегчает понимание концепций программирования и сопровождение кода.
Но чрезмерное увлечение декомпозицией – это новые проблемы. Увеличение количества классов не должно сопровождаться увеличением проекта. Задайте себе вопрос: какой смысл писать класс с одной-единственной функцией?
Код, разбитый на классы, сложнее оптимизировать. В него сложнее добавлять новые функции. Всегда обдумывайте необходимость выносить какой-то код в отдельный класс. Может, в этом нет никакого смысла?
Пара слов о шаблонах
Прежде чем использовать шаблоны, подумайте, сможете ли вы разобраться в них при возникновении ошибок в будущем? Паттерн – это заманчивая идея. Он экономит время, но может принести боль в будущем.
Чем больше шаблонов вы используете, тем меньше вы знаете о своём коде. Чем больше вы кодите руками, тем лучше контролируете свою систему.
Шаблоны проектирования прекрасны, когда внедряются в практику правильно. Они помогают, будучи дополнительным источником вдохновения, но не конечной целью.
Шаблоны проектирования способствуют дискуссии разработчиков вокруг распространённых проблем. Такие шаблоны показывают простые учебные случаи, которые легко понять и легко использовать на практике. Они обучают нас конкретным и разнообразным аспектам ООП.
Используйте каждый отдельный шаблон, только когда он соответствует поставленной задаче.
Сделайте документацию частью вашей работы
Если вы работаете над сложной системой, вам не обойтись без документации. После достаточно большого перерыва, вы сами забудете свой код. Прибавьте сюда команду разработчиков, где каждый пишет свои участки и модули. Без документации участники команды не поймут друг друга.
Ещё одна причина научиться документировать свой код – это «текучесть кадров». Ваш коллега может заболеть, уволиться, перейти в другой отдел компании. Представьте, что вам достался его код без намёка на документацию. Вряд ли вы обрадуетесь.
Вряд ли обрадуется и руководство компании, ведь пока вы разбираетесь в чужом коде, бизнес теряет время.
Документация ускоряет бизнес-процессы, а тот, кто ею занимается, повышает свою ценность в команде.
Просто гуляйте
Неважно работаете вы дома или в офисе – круглосуточное нахождение за компьютером опасно для здоровья. Вы можете приобрести физические и психические проблемы.
Понятно, что продуктивность программиста зависит напрямую от времени, которое он посвящает работе. А значит, и от времени использования компьютера в рабочих целях. Но прежде чем посвящать всю свою жизнь работе, подумайте, к чему вас приведёт малоподвижный образ жизни и отсутствие живого общения?
Выход: не отказывайте себе в перерывах. Иногда приходится проводить весь день за компьютером. От этого ценность каждой возможности сделать перерыв только растёт. Отвлекайтесь от рабочих задач и под любым предлогом выходите на улицу поесть, погулять, попить кофе. Поначалу будет трудно – придётся заставлять себя. Но в скором времени вы почувствуете, что смена обстановки только способствует вашей продуктивности. Альтернатива прогулкам – общение с коллегами в офисе.
Займитесь физическими нагрузками
Если вы думаете, что цель физических нагрузок – это только атлетичное телосложение, то вы сильно ошибаетесь. Физические нагрузки полезны для тела и мозга.
Разработчики занимаются интеллектуальным трудом. И в этом их превосходят разве что учёные. Поэтому уставшего разработчика может напугать мысль о физических нагрузках после тяжёлого рабочего дня. Однако физическими нагрузками вы компенсируете недостатки сидячей работы.
Выход: сделайте первый шаг – начните совершать прогулки в перерывах. Затем добавьте упражнения в спортзале. Вы найдёте хобби и почувствуете себя уверенней.
Развивайтесь как личность
Разработка – это круто! Каждый может найти свою нишу в сегодняшнем изобилии экосистем, фреймворков и библиотек. Можно программировать целыми днями и даже посвятить этому всю свою жизнь.
Работа обязывает программиста изучать что-то новое и не отставать. Для этого нужно увлекаться программированием. Однако не каждый может выдержать такой темп.
После долгих месяцев работы программирование может вызывать отвращение. Вплоть до полного отказа от этой деятельности.
Выход: разделяйте работу и дом, программирование и отдых. Не берите домой рабочие проекты. Посвящайте время своим близким. Читаете профессиональные книги? Попробуйте художественную литературу. Разнообразный досуг только подогреет ваш интерес к программированию :)
Комментарии