Существует другая причина, необходимо использовать javadocs. Для комментария чего-то необходимо понять его сначала. Когда Вы пытающийся прокомментировать функцию, Вы на самом деле взгляды из того, что делает метод/функция/класс, и это заставляет Вас быть более конкретными и ясными в Вашем javadoc, который в свою очередь заставляет Вас записать более ясный и краткий код, который хорош.
Я согласен с Джоном в том, что решение - это ветки, но я бы создал ветки для функций, а не для отдельных улучшений, составляющих функцию. Тогда шаблон рабочего процесса будет следующим:
Если вы обнаружите ошибку в улучшении A функции A, вместо того, чтобы начинать заново, вы переключаетесь на ветвь функции A и делаете следующее:
Вы можете выделить изменения для улучшений в ветви, поддерживающие стабильную ствол.
Взгляните на Вики-страницу веток .
Схема рабочего процесса будет выглядеть следующим образом:
Если вы обнаружите ошибку, вы можете отказаться от ветки (или исправить ошибку в ветке перед слиянием обратно в магистраль).