9 отличных инструментов для повышения производительности разработчика

Источник: DZone Написание кода – сложная и ответственная работа, для которой нужно не только знание теории, но и владение рядом профессиональных навыков. И конечно, эта работа отнимает кучу времени. Если программист неправильно организовывает свой рабочий процесс, это приводит к закономерному снижению производительности, срыву дедлайнов и ухудшению качества кода. К счастью, существует несколько способов преодолеть эту проблему. Один из них — использование в работе специальных инструментов, улучшающих производительность. Надеюсь, что небольшой список, который я подобрал, сделает вашу работу быстрее и эффективнее. Кофе-брейк #19: 9 инструментов для улучшения производительности разработчика. Что делать, если вы посредственный кодер? - 1ProofHub — простой планировщик заданий. С его помощью можно расставлять приоритеты, назначать и добавлять задачи, проверять документы и файлы, назначать дату начала и завершения задачи, создавать настраиваемый рабочий процесс, обмениваться документами, устанавливать таймер времени в расписании. У ProofHub есть мобильное приложение для Android и iOS. Sublime Text — один из самых мощных текстовых редакторов для разработчиков, который помогает выполнять практически любые операции с текстом. Он полезен для многих простых задач, таких как ведение списков дел, редактирование файлов конфигурации или написание пакетных сценариев. Google Keep — полезный сервис заметок от Google. Если вам нужны стикеры для напоминания о важных задачах на рабочем столе, используйте для этого Google Keep. Добавьте это расширение в Chrome, и вы сможете на лету прикреплять заметки, добавлять метки, соавторов, перечислять задачи с помощью маркеров или добавлять напоминания о самых важных вещах. Google Keep можно использовать также в Google Docs — просто перетаскивайте свои заметки в документы. MusicForProgramming — удобный маленький онлайн-инструмент с длинным списком инструментальной музыки, который позволит вам создать зону комфорта даже во время написания кода. Это интересный музыкальный генератор, где можно выбрать подходящую для работы музыку. Просто надевайте наушники, выбирайте один из 52 доступных плейлистов и слушайте. LeanKit — инструмент, который дает всем членам команды и заинтересованным сторонам проекта общее понимание работы. В нем используются общие принципы и методологии работы в рамках компании. Вы можете визуализировать свою задачу, чтобы лучше понимать ее и работать более эффективно. Благодаря LeanKit члены команды могут публиковать виртуальные заметки или сообщения об ошибках, которые нужно просмотреть. Silver Searcher входит в число наиболее эффективных инструментов для повышения производительности разработчиков, поскольку он экономит время на поиски элементов кода. При отображении результатов поиска этот инструмент работает намного быстрее, чем аналогичные программы. HeySpace — инновационное программное обеспечение для управления задачами с функциями чата. Отправляйте сообщения своей команде, чтобы управлять задачами, сводить встречи к минимуму и держать всех в курсе. Это комбинация Slack и Trello. На HeySpace вы можете легко преобразовать часть вашего разговора в задачу. Каждое задание можно настроить: можно устанавливать даты, назначать ответственных людей, добавлять теги, описания, файлы и комментировать их. Также можно делиться файлами. Habitica — один из лучших инструментов повышения производительности, который помогает воспринимать работу как игру. Habitica переносит вас в старый пиксельный мир игровых платформ. Он рассматривает вашу ежедневную нагрузку как RPG-игру, где можно повысить свой уровень, выполнив определенную задачу. За каждую достигнутую цель начисляются очки. Чем их больше, тем выше шансы, что ваш персонаж останется в живых. WakaTime — трекер производительности написания кода с набором плагинов текстового редактора. Этот инструмент следит за вашей работой, когда вы программируете. Программа предоставляет вам метрики за время, которое вы потратили на определенный файл, создает и присылает на почту ежедневные или еженедельные отчеты.

Я — посредственный разработчик (как с этим справиться)

Источник: Dev.to Я лично знаю очень талантливых разработчиков, способных создавать отличный софт без (или почти без) усилий. Благодаря именно таким одаренным личностям IT-отрасль процветает. Но печальная правда в том, что не каждый разработчик — ниндзя/гуру/звезда программирования. Речь о таких, как я. Я — посредственный программист. Эта статья покажет вам, как выжить в индустрии, если вы не гений. Кофе-брейк #19: 9 инструментов для улучшения производительности разработчика. Что делать, если вы посредственный кодер? - 2

Все время гуглю самые простые вещи

Множество вещей я просто не помню. Например, функции и методы из стандартных библиотек, названия пакетов, шаблонный код и так далее. Приходится гуглить, причем ежедневно. Также я использую код из старых проектов. Иногда даже копирую ответы со StackOverflow или GitHub. Да, это на самом деле работает — программирование по StackOverflow (StackOverflow Driven Development). Я такой не один. Множество программистов делают так же. Есть популярный тред в Twitter, который начал создатель Ruby on Rails: “Но почему это обязательно плохо? В таком подходе есть несколько минусов:
  • Это приводит к тому, что вы копируете плохие решения или уязвимый код у других людей.
  • Это формирует особенный настрой: если мы не можем нагуглить что-то, тогда – «Хьюстон, у нас проблема».
  • Если интернета нет, работа стоит”.
Я не думаю, что это большая проблема. Копирование кода даже может стать вашим секретным оружием. Просто понемногу снижайте его негативное влияние на вашу работу в целом:
  1. Используйте IDE для автодополнений и предположений: так вам не придется гуглить основы языка.
  2. Запомните, где (а не как) вы уже решали подобную проблему.
  3. Весь код, который вы копируете в проект, должен проходить через анализ, рефакторинг и ревью. Так вы не навредите проекту плохим кодом, но при этом сможете найти быстрое решение.

Я пытаюсь делать все максимально просто

Компьютеры всегда делают так, как им скажут. Просто иногда им дают неверные команды. Так что основная проблема в разработке — не в компьютерах, а в умственных способностях разработчиков, которые часто ограничены. Если мы, посредственные программисты, не можем создавать сложные абстракции, странные алгоритмы, огромные блоки нечитаемого кода, тогда нужно придерживаться простых решений. Как отличить простой код от сложного? Можно применить метод WTFs/Minute. Принцип очень прост. Как только вы нашли в коде что-то, чего вы не понимаете — он сложный. Как его упростить?
  1. Переписать его, чтобы получить более понятный дизайн.
  2. Дополнить его документацией.
  3. Добавить комментарии к самым сложным частям.
Как сразу писать простой код?
  1. Используйте правильные название переменных, функций, классов.
  2. Удостоверьтесь, что каждая часть вашей программы выполняет только одну вещь.
  3. Предпочтительно использовать чистые функции, а не регулярные.
  4. Выбирайте регулярные функции, а не классы.
  5. Обращайтесь к классам только тогда, когда они действительно нужны.

Я себе не доверяю

Все могут запороть код даже в простейших задачах. Например, вы можете допустить ошибки:
  • в языке;
  • в логике;
  • в дизайне софта;
  • в стилях;
  • в безопасности;
  • WTF-ошибки (мои любимые).
Не существует волшебной книги «Научитесь писать код без ошибок». И это нормально. Баги есть в любом софте. Как защититься от очевидных ошибок?
  1. Пишите тесты, множество тестов. Начиная от интеграционных и оканчивая юнит-тестами. Прогоняйте код в CI перед каждым запросом на включение кода. Это защитит вас от логических ошибок.
  2. Используйте статическую типизацию. К примеру, с JavaScript мы используем flow, с Python — mypy.
  3. Используйте автоматизированные проверки стилей. Существует множество сервисов в каждом из языков.
  4. Используйте проверку качества. Некоторые инструменты применяют к вашему коду сложные эвристические алгоритмы, чтобы найти проблемы (к примеру, тут этот класс не нужен, там слишком сложная функция).
  5. Отдавайте свой код на ревью.
  6. Платите другим людям за проверку вашего кода. Когда разработчик смотрит на код впервые, ему проще засечь непоследовательности и неудачные дизайнерские решения.

Постоянно учитесь

Есть множество вещей, которым стоит научиться. Если вы хотите писать хороший софт, для этого придется постоянно учиться. Тут нет обходных путей или волшебных трюков. Просто становитесь лучше каждый день. В заключение — нужно понимать две важные вещи:
  1. Проблемы случаются у всех. Все, что важно — насколько мы готовы к этим проблемам.
  2. Мы можем сузить число источников таких проблем до какого-то приемлемого уровня.
И это все не связано с вашими умственными способностями или образом мышления.