Я интерпретирую эту ситуацию как наличие двух основных проблем, возможно, трех.
- Нежелательное обновление SDK попало в источник, где это может негативно повлиять на продукт.
- Из вопроса: участник, который выполнил нежелательное обновление, не знал о предыдущем, конкретном решении не обновлять.
Первый из них, на мой взгляд, самый серьезный. Если нежелательное обновление SDK может сделать его в коде, то могут возникнуть и другие проблемы.
Кто-то предложил добавить блок модульного тестирования, который не удастся, если он обнаружит обновление. Хотя это предотвратит обновление, я считаю, что это опасный путь, который со временем приводит к потоку лавы . Кажется неизбежным, что в какой-то момент в будущем SDK будет обновлен, чтобы добавить новые функции или исправления, или потому что старая версия больше не поддерживается. Представьте себе головокружительные, может быть, даже аргументы, которые возникнут, когда такой модульный тест провалится.
Я думаю, что наиболее общим решением является корректировка процесса разработки. Для git используйте процесс запроса pull . Для Subversion и более старых инструментов используйте ветки и diff. Но есть некоторый процесс, который позволяет старшим разработчикам улавливать подобные проблемы, прежде чем они попадут в кодовую базу и повлияют на других разработчиков.
Если бы в вашей ситуации использовался процесс получения запроса, и если бы каждый запрос на выборку был узким и конкретным, не было бы потрачено много времени. Запрос на обновление SDK был бы отправлен и отклонен с комментарием о том, что обновление не требуется. Никто не пострадал бы, и теперь не было бы необходимости отменять обновление SDK.
Но чтобы напрямую ответить на первоначальный вопрос, я согласен с другими, что ожидание того, что все разработчики полностью прочитают всю историю изменений кода, заметки о выпуске и т. Д. Для таких уведомлений, является пустой тратой драгоценного времени. Что не так с коротким командным письмом?
Возможная третья проблема: почему обновление не нужно в первую очередь? Очевидно, что по крайней мере один разработчик думал, что обновление будет хорошей вещью. Есть много веских причин отложить обновление, но есть и много плохих. Старайтесь избегать анти-паттернов потока лавы (ненужный код обратной совместимости) и культа груза («мы не можем это обновить, но я не знаю почему»)!