Какие инструменты помогают разработчикам

Какие инструменты помогают разработчикам

Инженеры из Amazon и Sterlix GmbH делятся опытом.

Разработчики уже давно не делают все вручную. Например, вам нужно написать стандартные геттеры и сеттеры для класса на Java. Но интегрированная среда разработки (IDE) может генерировать их за вас.

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

Выбираем лучшие инструменты вместе с:

  • Михаилом Михалевым,Software Engineer в Amazon и лектором курса Архитектура высоких нагрузок
  • Станиславом Сапранковым,Software Developer Engineer в Amazon Web Services 
  • Ярославом Слипчуком,Node.js Developer в Sterlix GmbH 
  • IDE и редакторы кода

    IDE берут многие задачи на себя, например, подсветку «глупых» ошибок в синтаксисе. Программисту не нужно запоминать все методы классов. В IDE встроен анализатор кода, который предлагает методы после точки, отталкиваясь от написанного. Но «программирование через точечку» часто упоминают, говоря о кодере, который не понимает, как работают классы или методы. Анализатор помогает кодить, но не заменяет знание синтаксиса языка.

     

    Пример работы анализатора кода
    Источник: habr.com

     

    Среди IDE популярны продукты JetBrains. В них уже включены инструменты для сборки, отладки, тестирования, работы с Git, базами данных и регулярными выражениями. Встроенная функция автодополнения превратит несколько букв в целый кусок кода. Например, если в Intellij IDEA (IDE для Java) напечатать fori, то вы получите шаблон для for-цикла.

    Если вам нужен только редактор кода, выбирайте Visual Studio Code. Он поддерживает все современные языки и содержит плагины, расширяющие его функционал. Если на проекте вы используете несколько языков, то просто качаете нужный плагин.

    Среди недостатков — то, что некоторые фреймворки (например, NET.Core) не поддерживаются в полном объеме.

    Станислав: «У нас есть своя система репозиториев, а в VS Code — плагин GitLens, который позволяет прописывать паттерны для поиска коммитов в кастомных репозиториях. Можно переходить в браузер на страницу с коммитом прямо из IDE.

    Через плагины и расширения VS code поддерживает многие популярные форматы, включая Dockerfile, YAML, JSON.

    Для крупных проектов я использую JetBrains. У них интуитивная настройка источников сторонних модулей — например, в IntelliJ IDEA удобно запускать тесты через IDE на облачном сервере, Docker, Vagrant. В PyCharm более быстрая индексация файлов, чем в VS Code, а в PhpStorm — более „умный” анализатор кода».

     

    Visual Studio Code
    Источник: docs.microsoft.com

  • GIT GUI клиент

    Для полноценной работы с системами контроля версий необходима командная строка. При этом многие операции можно делать и без нее, с помощью визуальных клиентов, например, TortoiseGit или GitKraken. Они поддерживают стандартные операции: коммиты, создание веток, показ различий в версиях. C помощью GUI-клиентов вы можете визуализировать ветвление коммитов. С другой стороны, визуальные инструменты не показывают, как системы контроля версий работают внутри. Особенно это касается команд, которые заменяет одна кнопка в графическом интерфейсе.

    Станислав: «Я использую командную строку и Git GUI — минималистичный и простой интерфейс для гита. Git GUI ускоряет то, что в командной строке делать дольше, например, написание сообщений к коммитам и просмотр изменений. Для остального достаточно командной строки».

     

    TortoiseGit
    Источник: tortoisegit.org

  • Анализатор трафика

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

    Wireshark — бесплатный анализатор, который принимает и помогает просматривать данные, приходящие из сети. Например, вам нужно выявить, где теряются пакеты или откуда идет DDoS-атака. Захваченные пакеты можно отфильтровать по IP источника трафика, протоколу, длине и другим свойствам или использовать геопривязку к ip-адресам.

    Ярослав: «Wireshark помогает сделать Trace Log передачи данных между клиентом и сервером. Wireshark позволяет увидеть служебные обмены информацией на низких уровнях модели OSI. Также Wireshark полезен для интеграции новых протоколов со сторонними сервисами — он помогает быстрее изучить особенности работы с протоколом».

     

    Wireshark
    Источник: networkguru.ru

  • Отладчик API

    Postman — инструмент для тестирования и отлаживания API, который помогает разобраться во взаимодействии сервисов. Например, проверить, какой код ответа возвращает запрос. У Postman понятный графический интерфейс, с помощью которого можно создавать запросы с заранее определенными переменными, а затем тестировать их в разных окружениях и группировать в коллекции.

    Postman
    Источник: postman.com

    Михаил: «Postman удобен не только для быстрой отладки и проверки гипотез, но и для постоянной разработки в команде. Например, с его помощью можно расшаривать свои запросы. Еще одна “фишка” Postman — автоматизация рутинных процессов, например, получения JWT-токена. Для разработчиков, тестировщиков и даже менеджеров, которые используют API в работе, Postman — must-have».

    Станислав: «У Postman удобный импорт/экспорт конфигурации запросов. Можно писать переменные и маленькие скрипты, которые будут запускаться после запроса. Например, делаешь запрос на авторизацию, а токен с разрешениями автоматически сохраняется в переменную, которая потом используется в заголовках других запросов».

Ещё статьи
Как упростить разработку.
Data science, web development, gamedev и не только.