Введение

Стадия в процессе разработки программного обеспечения

В разработке программного обеспечения заморозка – это момент времени в процессе разработки, после которого правила внесения изменений в исходный код или связанные ресурсы становятся более строгими, либо период, в течение которого эти правила применяются. Заморозка помогает продвигать проект к выпуску или концу итерации, уменьшая масштаб или частоту изменений, и может использоваться для соблюдения плана разработки. Конкретные правила зависят от типа заморозки и используемого процесса разработки; например, они могут разрешать только исправления ошибок или изменения только после тщательного рассмотрения другими членами команды разработчиков. Также может быть указано, что делать, если потребуется изменение, нарушающее правила, например, перезапустить период заморозки. Распространенные типы заморозки:

(Полная) заморозка спецификаций, при которой участники проекта решают не добавлять новые требования, спецификации или функции в список функций программного проекта, чтобы начать кодирование. (Полная) заморозка функций, при которой вся работа над добавлением новых функций приостанавливается, а усилия перенаправляются на исправление ошибок и улучшение пользовательского опыта. Добавление новых функций может дестабилизировать другие части программы как из-за внедрения нового, непроверенного исходного кода или ресурсов, так и из-за взаимодействия с другими функциями; таким образом, заморозка функций помогает повысить стабильность программы. Например, "заморозка функций пользовательского интерфейса" означает, что в коде пользовательского интерфейса больше не будет разрешено добавлять новые функции, но исправление ошибок остаётся возможным. (Полная) заморозка кода, при которой любые изменения в исходном коде программы, частично или полностью, запрещены. Особенно в крупных программных системах любое изменение исходного кода может иметь непредвиденные последствия и привести к новым ошибкам; таким образом, заморозка кода помогает гарантировать, что известная работоспособная часть программы продолжит работать корректно. Заморозка кода часто применяется на финальных этапах разработки, когда тестируется конкретный релиз или итерация, но также может использоваться для предотвращения изменений в одной части программы во время разработки другой. Например, "заморозка физики" означает, что в коде, отвечающем за физику, никакие изменения не допускаются.

Реализация

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