Fusion Tech - создаем лучшие решения из ваших идей на основе нашего опыта

Они тянут тебя вниз: плохие привычки программистов


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

У любой привычки есть цикл:

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

Процесс – эмоциональная или практическая реакция организма на сигнал.

Награда – зачастую мнимая польза или чувство удовлетворения.

Например, вы испытываете стресс на работе – Сигнал. Вы курите – Процесс, а после чувствуете спокойствие и расслабленность – Награда.

Привычка формируется, когда Сигнал ассоциируется с определённым Процессом. Когда такая связка сформировалась в сознании, вы начинаете повторять цикл привычки снова и снова.

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

 

Не бойтесь удалять старый код

Стремление что-то улучшить точно не назовёшь плохой привычкой. Переписать и закомментировать неработающий код – это хорошая идея. Но после проделанной работы старый код нужно удалить! Если хранить старый код в виде комментариев, то со временем его станет больше, и он начнёт отвлекать от актуальных участков.

Представьте, что знакомый попросил вас реализовать новые фичи в своём проекте. Вы скачиваете его код и видите, что закомментированных участков больше, чем работающего кода. Они будут отвлекать вас и портить читаемость кода. Вы точно не будете в восторге.

Сюда же входят неиспользуемые функции. Когда-то они были частью приложения, но с развитием проекта перестали вызываться. Будьте уверены, новый разработчик потратит время на их анализ.

Выход: система контроля версий. Если вы ещё не используете её в своих проектах, сделайте это сейчас, и не бойтесь удалять старый код!

 

Зона комфорта

Ни для кого не секрет, что разработка – это динамичная сфера с непрерывным процессом обучения. Иногда может казаться, что осваивать что-то новое ни к чему. Например, когда вы работаете с Legacy системами или не горите желанием карьерного роста. Но даже в этом случае  вам нужно учиться новому.

Посмотрите на IT-индустрию, как на поток. Вы – часть этого потока. Рано или поздно вам придётся учить что-то новое, чтобы оставаться «на плаву». Время, проведённое в комфортных условиях с одним фреймворком «в руках», сделает вас ленивым и неквалифицированным в будущем. В итоге вам придётся прилагать колоссальные усилия, чтобы освоить что-то новое.

Выход: старайтесь поддерживать свою способность к обучению. Не зацикливайтесь на одном языке и фреймворке. Гораздо важнее не отставать от новых стандартов языков, веба и подходов к разработке.

 

Включите любопытство

На дворе 21-й век! Информация никогда не была такой доступной. Конечно, это не дарит вам безграничные возможности, но люди, которые пользуются преимуществом доступа к информации, – читают книги, задают вопросы, следуют своему любопытству, – имеют больше возможностей для представления и формирования успешного будущего.

Выход: не останавливайтесь на полученных знаниях: всегда желайте большего.

 

Не злоупотребляйте обобщённым программированием

Пытаетесь писать код, который будет обрабатывать всё, что вы ему скормите? Расслабьтесь: для 90% приложений не возникнет необходимости в абстрактном коде.

Главная причина абстрагирования – повторное использование. Зачем описывать 10 ситуаций в своём компоненте, когда приложение использует всего 2?

Выход: не создавайте в коде то, что не нужно. Вы тратите своё время и время клиента.  Выделяйте классы в отдельные сущности при частом использовании в разных проектах.

 

Не зацикливайтесь на ООП

ООП облегчает понимание концепций программирования и сопровождение кода.

Но чрезмерное увлечение декомпозицией – это новые проблемы. Увеличение количества классов не должно сопровождаться увеличением проекта. Задайте себе вопрос: какой смысл писать класс с одной-единственной функцией?

Код, разбитый на классы, сложнее оптимизировать. В него сложнее добавлять новые функции.

Выход: всегда обдумывайте необходимость выносить какой-то код в отдельный класс. Может, в этом нет никакого смысла?

 

Пара слов о шаблонах

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

Чем больше шаблонов вы используете, тем меньше вы знаете о своём коде. Чем больше вы кодите руками, тем лучше контролируете свою систему.

Шаблоны проектирования прекрасны, когда внедряются в практику правильно. Они помогают, будучи дополнительным источником вдохновения, но не конечной целью.

Шаблоны проектирования способствуют дискуссии разработчиков вокруг распространённых проблем. Такие шаблоны показывают простые учебные случаи, которые легко понять и легко использовать на практике. Они обучают нас конкретным и разнообразным аспектам ООП.

Выход: используйте каждый отдельный шаблон, только когда он соответствует поставленной задаче.

 

Побольше гуляйте

Неважно работаете вы дома или в офисе – круглосуточное нахождение за компьютером опасно для здоровья. Вы можете приобрести физические и психические проблемы.

Понятно, что продуктивность программиста зависит напрямую от времени, которое он посвящает работе. А значит, и от времени использования компьютера в рабочих целях. Но, прежде чем посвящать всю свою жизнь работе, подумайте, к чему вас приведёт малоподвижный образ жизни и отсутствие живого общения?

Выход: не отказывайте себе в перерывах. Отвлекайтесь от рабочих задач и под любым предлогом выходите на улицу поесть, погулять, попить кофе. Смена обстановки только поспособствует вашей продуктивности.

 

Займитесь физическими нагрузками

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

Выход: сделайте первый шаг – начните совершать прогулки в перерывах.

Екатерина
Екатерина ЗАМ. ДИРЕКТОРА ПО РАЗВИТИЮ
Есть проект для нас?
обработку персональных данных
Вы должны принять соглашение
Подтвердите что вы не робот
Ваша заявка отправлена
Отправляется...