1. Перестаньте делать то, что за вас может сделать компилятор
Когда разработчик пытается делать то, что компьютер делает заведомо лучше, это обычно дорогостоящая ошибка. Пример такой ситуации — когда программисты тратят время на поиск багов, которые вполне можно выловить автоматизированными инструментами.По какой-то причине (возможно, в силу динамической природы Python или “скриптового” статуса, который когда-то за ним закрепился) не часто встретишь разработчика, использующего статический анализатор кода или линтер.
Не могу сказать что анализатор — подобие волшебной палочки, взмахнув которой можно решить все проблемы. Но эти инструменты упрощают процесс разработки, экономя вам кучу времени.
Если вы хотите улучшить качество вашего кода и ищете подходящий инструмент, я рекомендую использовать Pyflakes. Это бесплатный, легко настраиваемый линтер с открытым исходным кодом. У него минимальное количество ложных срабатываний и многословных сообщений.
Чтобы моментально получать фидбэк и вылавливать баги как можно раньше, я бы также порекомендовал интегрировать плагин Pyflakes в вашу IDE. Если автоматический линтинг изменений будет частью вашей процедуры непрерывной интеграции, это существенно облегчит вам жизнь. В таких условиях у всех разработчиков в команде будут одинаковые настройки, и в результате никакие предупреждения не останутся незамеченными.
Совет. Используйте статические анализаторы кода, такие как Pyflakes.
2. Избегайте излишнего обсуждения стиля кода
В вашей команде есть процедура код-ревью? Отлично! Но будьте внимательны: неопытные ревьюеры часто совершают ошибку, чересчур заостряя внимание на том, что можно доверить автоматическим инструментам. Я имею в виду вопросы к стилистике кода.Вместо обсуждения более важных вопросов команда начинает обсуждать пропущенные пробелы и то, что имена классов написаны не в camel case. Все это — напрасная потеря времени, которой можно избежать. Для этого нужно пользоваться стандартами (например, PEP 8 или Google’s Python Style Guide), а также автоматизированными инструментами, которые будут проверять стиль на соответствие данным стандартам.
Я рекомендую следовать стандарту PEP 8 в комбинации с Pycodestyle или flake8. Это поможет избежать споров о стиле (по большей части) и позволит вашей команде сфокусироваться на действительно важных вещах.
Совет. Выберите себе стандарт стиля кода (например, PEP 8) и обеспечьте его принудительное применение при помощи специальных инструментов.
3. Не теряйте концентрацию
Исследования юзабилити показывают, что время ожидания загрузки веб-страницы имеет большое влияние на уход пользователя с ресурса. Если люди скучают, пока ждут чего-то, они с большой долей вероятности забывают о своей первоначальной задаче.Что касается разработчиков, ожидание, пока инструменты выполнят свою работу, — часть рабочей рутины. Мы постоянно в ожидании установки какого-то модуля или окончания тестирования. Разумеется, мы не бросаем работу после нескольких секунд (минут) “простоя”, в конце концов, это ее часть.
Но постоянно поддерживать должный уровень концентрации утомительно. В результате уже после обеда наша продуктивность падает, и ошибок мы делаем чуточку больше.
По своему опыту могу сказать, что негативный эффект даже маленьких вынужденных пауз и задержек накапливается. Переключение между файлами в медленном редакторе или между приложениями на медленном компьютере может очень раздражать. Все эти, на первый взгляд, незначительные задержки складываются, и в конце концов в их сумма может оказаться неожиданно большой.
Предположим, нам регулярно приходится ждать окончания выполнения какой-то задачи, и эта задержка составляет 1 секунду на 10 секунд работы. Сложив все задержки, нетрудно подсчитать, что за неделю мы теряем приблизительно полдня продуктивной работы, 2 дня за месяц и целый месяц за год.
Цифры, конечно, слегка преувеличены. Но представьте, что можно получить дополнительную неделю продуктивного времени в год, просто потратив полдня на оптимизацию и настройку ваших профессиональных инструментов.
Совет. Инструменты должны быть быстрыми и удобными. Отдавайте предпочтение простоте.
4. Работайте в среде разработки, которая вам нравится
Работа с инструментами, которые вам не по душе, убивает вашу мотивацию. Возможно, вам знакомо это чувство: только вспомнишь об использовании «нелюбимого» инструмента, и сразу чувствуешь раздражение.Какой инструмент приходит вам в голову первым, когда речь идет о разработке? Для меня это мой редактор кода (IDE). Может, для кого-то куда важнее почтовое приложение или мессенджер для общения с командой, но надеюсь, что большую часть своего дня вы все же занимаетесь кодом. А значит, имеет смысл уделить самое пристальное внимание выбору среды разработки. Ваша продуктивность зависит от этого.
Для Python-разработчиков есть много разных редакторов и сред разработки, например Vim, Emacs, PyCharm, Wing IDE, Atom, Eclipse PyDev, Sublime Text.
Я потратил много времени на выбор и настройку среды разработки. Перепробовав некоторое количество IDE, я остановился на Sublime Text. Мне по душе его скорость, простота и надежность.
Вы можете выбрать IDE на свой вкус и под свои специальные нужды. Просто попробуйте несколько, и какая-нибудь наверняка вам понравится.
Совет. Найдите свой редактор кода и настройте его по своему вкусу.
5. Не экономьте на том, что действительно важно
Как-то раз я работал с человеком, который пользовался платной программой для написания кода. Но он не хотел покупать лицензию, вместо этого месяцами использовал пробную версию.В пробной версии было назойливое всплывающее сообщение о необходимости покупки лицензии. Оно появлялось через каждые несколько минут после сохранения файла. А у этого разработчика была привычка часто сохранять проект, и надоедливое сообщение всплывало сотни раз за день.
Лицензия стоила $70. Вообще мне нравятся бережливые люди, но это было просто смешно! В попытке сэкономить на критически важном инструменте этот разработчик тратил намного больше $70 за счет ежедневной потери продуктивности из-за назойливого сообщения.
Работая на себя, вы можете списать стоимость лицензии на расходы и вывести эту сумму из-под налогообложения. Ну а если вы наемный работник, я уверен, что компания оплатит вам лицензию, если вы объясните, насколько важен для вас этот инструмент.
Вообще стоимость коммерческих инструментов для разработки программ не так уж велика по сравнению с инструментами графических дизайнеров или архитекторов. Некоторые из самых лучших инструментов даже доступны бесплатно. Но смысл покупать лицензию все же есть: со временем вы поймете, насколько это улучшает жизнь и карьеру.
Совет. Инвестируйте в инструменты, которые сделают вас счастливее и эффективнее.
С чего мне начать?
Я рассказал о пяти ошибках, распространенных среди Python-разработчиков. Все они могут повлиять на вашу продуктивность. К счастью, большинство из них можно легко исправить, применив правильный подход.Не пытайтесь исправить все проблемы за раз. Для начала найдите одну, наиболее раздражающую, и только разобравшись с ней приступайте к следующей.
Думайте об этом как о хорошей инвестиции: маленькие изменения в сумме дадут хороший прирост в производительности в долгосрочной перспективе. Как по мне, путь к успеху — это сочетание правильных привычек и образа мышления.
Хорошая среда разработки делает вас увереннее и продуктивнее. Когда вы чувствуете себя как дома, разработка на Python становится еще приятнее.
Источник