Кодирование, программирование, разработка, назовите свое действие! Такое забавное и захватывающее развлечение, иногда идет не так при стрессе или при отсутствии опыта в определенных технологиях.
Иногда нам нужно писать код, которым мы не гордимся, но в настоящее время у нас есть механизмы для количественной оценки этого и улучшения его качества. Как и бойскауты, мы можем вернуться и почистить лагерь, сделать больше тестов, потому что у нас не было достаточно покрытия, и мы не могли бы поймать всех возможных ошибок.
Когда я возвращаюсь и читаю свой код некоторое время назад, мне стыдно, и это хорошо, это означает, что мы растет. В противном случае мы не заметили бы.
Я всегда был в улучшении пути качества кода, я знаю, что проекты и стартапы должны достичь своих целей, в противном случае мы все могли бы потерять работу, но именно поэтому так важно иметь надлежащие процессы и хороший CI/CD, контроль Качество кода и измеряйте устаревший код, чтобы он не слишком расти.
Я уже много лет был защитником тестирования. Я знаю, что мы должны проверить и что сложнее тестировать, почему мы должны рефакторировать, если наши тесты слишком сложны, потому что у нас есть проблема с архитектурой, какие части чаще будут проблематичными. Тем не менее, обычно есть сомнения, риск и ужас.
Однако, когда вы находитесь в таком небольшом агентстве, как мое, вам нужно иметь метрики, вам нужно полагаться на отличные услуги, поэтому вы сохраняете все время, чтобы сделать то, что придает компании. Нам нужно каждый раз улучшать процесс (в противном случае что весело делать все всегда одинаково?:-)).
Наше путешествие для лучшего кода начинается с обзоров, мы определили историю пользователя и оценили стоимость разработки (подробнее об этом в следующей статье), член команды добрался до нее, внедрил ее и создал PR на GitHub.
Первый шаг, в данном случае, гарантирует, что две проверки проходят в рамках PR:
- Gitlab ci запустил бы тесты и скажет нам, если они пройдут.
- Кодекс сообщает нам, были ли существенные регрессии с точки зрения сложности кода, дублирования кода, стандартов и покрытия кода.
Если чеки проходят, по крайней мере, разработчик в команде рассматривает код PR для ясности, хороших шаблонов, функциональности. Если все идет хорошо, код объединяется с ветвью релиза и, когда спринт заканчивается, чтобы освоить. Мы никогда не сможем удалить человеческое взаимодействие, поскольку кодовые шаблоны, архитектура и именование настолько зависят от домена и контекста приложения.
Кодекс Приносит нам больше функциональности, чем другие претенденты, такие как Опасность или Код климат , но если вам это не нравится, вы можете проверить это. Мы выбрали кодечность над другими, потому что она дала нам лучшую обратную связь с прогрессом, и у них отличная интеграция покрытия кода, гораздо проще настройка, чем кодовый климат (например,). Это дало нам больше, чем опасность, так как опасность обычно больше используется как Linter, но ничего не получает в отношении покрытия кода.
Когда мы начали использовать кодаю, произошло что -то великое, запросы на притяжение были более живыми, так как все пытались свести к минимуму технический долг, который они добавляли, так что кодекс играет также наши запросы на притяжение.:-)
Кодая интегрируется со многими языками, мы обычно используем Python Pylint, Bandit, Prospector и Eslint для узла. Кодекс будет читать эти библиотеки в ваших репозиториях и использовать эту конфигурацию, если она существует. В противном случае вы можете проверить нужные элементы конфигурации, которые вы хотите, от конкретного инструмента прямо из просмотра настроек проекта.
На этом этапе наш CI запускается (потому что мы слияем, чтобы освоить), и если тесты проходят код, автоматически развернут в нашей стадии, обычно Heroku, а также AWS/Kubernetes.
Когда мы хотим развернуть в производстве, мы создаем новый тег, такой как vyyyy.mm.dd и CI/CD запускает развертывание до производства.
Когда код достигает производства, у нас есть две услуги, дающие нам вклад Итак, мы знаем, что что -то не так или запускается предупреждение.
- Часовой Был моим любимым в течение многих лет с точки зрения контроля ошибок в производстве, легко использовать, пометить, разделить различные среды (бэкэнд, фронт, мобильный), и он так хорошо работает!
- Новая реликвия могущественный, и мы используем его для обнаружения узких мест и проблем с производительностью, когда они возникают (или до того, как стало слишком поздно, если вы хорошо настроите свои оповещения!). Очень приятно иметь возможность контролировать ваши запросы и посмотреть, как они ведут себя, чтобы иметь возможность предотвратить проблему в будущем, новая реликвия отлично подходит для этого.
Каковы ваши любимые? Каковы ваши рекомендации? Дай мне знать!
Оригинал: «https://dev.to/wealize/the-journey-to-control-code-quality-4njl»