2022.09.15 02:17 Posted by Someone

Автоматизация рутины программиста — Фёдор Борщёв




Фёдор Борщёв Обо мне Блог Избранное Школа Нанять меня Подписаться на телеграм

Автоматизация рутины программиста

6 лет назад

Год назад я вернулся к программированию и начал присматриваться, что изменилось в окружающей среде за последнее время. Оказалось, ничего — современный стек технологий до сих пор доступен только крупным компаниям, все остальные так и живут в каменном веке.

Программисты по-прежнему не пишут тесты, не измеряют качество кода и занимаются обновлением серверов вместо бизнес-логики. Хорошо, если хоть файлы на сайте по ФТП не правят. Руководство, видимо, привыкло к плохому — так и живут с проебывающимися сроками и десятком багов на боевом сервере.

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

Если рядом с вами программируют хоть что-нибудь сложнее сайта-визитки на вордпрессе — проверьте эти 6 направлений:

Непрерывная сборка и запуск. Решает проблему с выкатыванием софта — программисту достаточно отправить коммит в репозиторий, дальше все случается без его участия — запускаются тесты, собирается фронтенд, снимаются метрики. Если код в коммите рабочий, продакшн обновляется автоматически. Хороший сервис — CircleCI . Замер качества кода. Ключевые метрики — покрытие тестами, сложность, читаемость, наличие копипейста. Хороший сервис — Code Climate . Отдельным пунктом — процент покрытия. Это соотношение кода, который выполняется во время прогона тестов к общему количеству кода в приложении. Если у вас проверяется меньше 80%, значит вы пишете плохой код. Если покрытие меньше 50%, а вы работаете над новыми фичами — вы работаете зря. Хороший сервис — Codecov . Обработка ошибок. Хранит журнал ошибок и позволяет анализировать продакшн на основе реальных цифр, а не жалоб пользователей. Хороший сервис — Sentry , есть клиенты для всех языков, включая браузерный JS. Мониторинг производительности. APM снимет трейсы самых долгих запросов прямо с продакшена, нарисует графики скорости и подскажет узкие места, которые приводят к тормозам. Для каждого фреймворка нужен свой APM, для Джанго я использую Datadog . Еще есть New Relic и куча других. Облачный хостинг. Если на вашем проекте есть жужжащая железяка с сисадмином в комплекте — смело избавляйтесь. Дешевле и проще взять ресурсы в аренду и исключить человеческий фактор, чем владеть коробкой, которая не приносит денег. Идите в Azure или хотя бы в Digital Ocean .

Что-то забыл? Пишите в комменты. Интересуетесь автоматизацией? Начните с free-for-dev .

Программирование Инфраструктура Тесты

Меня зовут Федя Борщёв. Пишу для программистов в  телеграме  — 3 поста в неделю об управлении сложными проектами, хорошем коде и профессиональном развитии. А ещё я в прямом эфире пишу код на  ютубе и выкладываю всякое в  фейсбук . Подписывайтесь!

Почитать ещё

Код, который не работает Как выучить любой язык программирования Как переименовать приложение в Django Moscow Python подкаст про Django Органы чувств в инфраструктуре Почему я открыто делюсь исходным кодом (и +2 открытых проекта на Django) ​От 0 до 150 000 строк кода не жертвуя качеством Какие технологии выбрать для нового проекта? (версия для программистов) Мой сетап разработчика Программистам: что делать, чтобы вас не заменили роботом Мне сказали — я копаю Не учитесь технологиям — учитесь решать задачи Feature flags Процесс vs результат у разработчиков Боязнь ошибиться у программистов © Фёдор Борщёв 2014–2022 💩