Неужели сказать, что современные DevOps, люди, могут научиться чему -то из ушедшего движения? Точно нет. Хотя XP имеет плохую репутацию по некоторым конкретным причинам, он содержит некоторые принципы, которые имеют значение для нас сегодня в 2019 году.
Ягни
Эта аббревиатура означает «тебе это не понадобится». Это один из столбов XP. Это делает утверждение, что вы не должны тратить время на компоненты или функции, которые вы может нужен вниз по линии. В современных языках развития, таких как Golang, мы видим, что применение этого принципа наследуется в дизайне Go. Практический пример этого, это Get/set
Методы не являются идиоматическими. Для самых чистых джавовых разработчиков это может быть в лучшем случае беспокоить. Тем не менее, современные платформы, такие как Kubernetes и Docker, мы написаны в Голанге. Беглый обзор исходного кода на GitHub показывает, что инженеры вряд ли следуют стандарту догматического ООП.
Я не могу сказать, сколько раз я пытался внедрить код для своих систем, которые «Мне может понадобиться позже» Только чтобы понять, что новые технологии снова нас нанесли нам. Это может быть разочаровывающим, так как вы, кажется, никогда не попадаете на стадию золота. Если мы сможем применить Ягни, мы можем сэкономить ценное время и усилия. Но что происходит, когда придет время внести изменения? Просто, мы рефакторируем.
Непрерывный рефакторинг
Рефакторинг часто пренебрегают в сфере DevOps. Это связано с тем, что эта «OPS» часть вашего названия всегда будет обеспокоена стабильностью. И давайте посмотрим, мы ориентированы на функцию. В то же время многие инженеры не понимают, что «рефакторинг» действительно означает:
Рефакторинг кода — это процесс реструктуризации существующего компьютерного кода, изменяя факторию, не изменяя его внешнее поведение. — Википедия
Одним из недоразумений является то, что «рефакторинг» путается с «золотым покрытием» или новыми функциями. Вместо этого наши усилия должны быть на следующем:
- Оптимизация
- Повышенная читаемость
- Повышенная обслуживаемость
- Документация
Разработка тестового привода (TDD)
Так что позвольте мне прояснить: вы не можете постоянно рефактор без непрерывного тестирования. Если вы часто меняете свой код без Тесты, это приведет к неуправляемому коду и дефектам. Это может быть сложно для инженеров, которые «еще не добрались до написания тестов».
TDD гарантирует, что вы напишите свои тесты, потому что это требует, чтобы вы написали их первым! TDD работает так:
- Напишите тест на единицу работы
- Этот тест автоматически пройдет, потому что этого кода еще не существует
- Напишите код, чтобы пройти тест
Я нашел TDD хорошо работать с такими проектами IAC, как Chef, Puppet, Ansible и Friends.
TDD не является синонимом XP, но он был в значительной степени принят этим.
Кодирование сверстников
Хорошо, это очень спорно. Я слышал много аргументов о практичности группы разработчиков, нападающих на проблему одновременно. Как и все, вам не нужно следить за XP до совершенства, чтобы получить некоторую выгоду от кодирования сверстников.
Работа с распределенными командами может быть проблемой, но вам не нужно ждать, пока вы не откроете пиар, чтобы кто -то другой посмотрел на ваш код. Я обнаружил, что 1-2 часа в неделю может быть хорошо проведено на интерактивной сессии экрана. Помните, что разнообразие отлично подходит для решения проблем. Наличие более чем одного разума, решающая проблему, разблокирует потенциал во всех участниках. По моему мнению, лучший сценарий для командного построения — это командное кодирование!
Последние мысли
Я уверен, что все еще есть люди, которые любят XP и используют его ежедневно. Как инженер DevOps, я очарован DEV -практиками и лучше понимать платформы, которые другие построили в прошлом. Я твердо верю, что каждая методология построена на принципах, которые занимают свое место в современном мире. В XP намного больше, чем я освещал, и я не утверждаю, что являюсь экспертом. Я просто хотел поделиться тем, что сработало для меня и моей команды.
Оригинал: «https://dev.to/johnnystarr/what-devops-engineers-can-learn-from-extreme-programming-xp-33g»