Правильные сообщения фиксации

Для чего нужны сообщения фиксации? Я всегда писал их как объяснение того, что я сделал, но недавно я вступил в дискуссию по этому поводу с коллегой, который пишет сообщения коммитов, объясняя, почему он это сделал. Какой из них правильный, или есть совсем другой ответ?

ПРИМЕЧАНИЕ. Я совершенно не знаю, есть ли на это «правильный» ответ. Таким образом, я назвал это вики сообщества и не приму ответа. Голоса определят победителя :)


person Community    schedule 10.06.2010    source источник


Ответы (4)


Лично я могу сказать, что было сделано, непосредственно посмотрев на различия в файлах. почему я не могу сделать вывод, просто глядя на фактические изменения.

Если изменения значительны или сложны, я бы включил не только почему, но и краткий обзор того, как.

person Dean Harding    schedule 10.06.2010
comment
Я рассматриваю сообщение фиксации как электронное письмо. Строка темы what может указывать на ошибку #, но должна кратко описывать изменение. В теле сообщения о коммите указывается причина. - person Yann Ramin; 10.06.2010
comment
На самом деле, глядя на diff, можно понять, как это было сделано, комментарии в коде и система отслеживания проблем должны сказать вам, почему, а сообщение о коммите должно сообщить вам < i>что, желательно вместе со ссылкой на систему отслеживания проблем. На мой взгляд, конечно. - person Christoffer Hammarström; 10.06.2010
comment
Некоторые изменения нелегко отправить в комментарии... должен сказать вам, почему: например, удаление гнилого кода. Каждый раз добавление объяснения «почему» в комментарии может закончиться сценарием SCM в исходном коде. Конечно, иногда имеет смысл добавить комментарий, объясняющий, почему очевидный подход добавления некоторого кода здесь был бы неправильным. - person Bernd Jendrissek; 17.07.2012

Я думаю, что оба полезны. Краткое описание того, что изменилось («Добавление проверки длины для AddUserForm»), проще, чем просмотр различий, особенно если вы просматриваете несколько коммитов. Почему было внесено изменение, какую ошибку оно исправило и т. д., очевидно, тоже очень полезно иметь.

person Adam Crume    schedule 10.06.2010

Сообщения фиксации — это то, что вы из них делаете, но когда их сотни для определенного файла или тысячи для проекта, вы хотите иметь возможность просматривать их в поисках определенных изменений или характера изменений. По сути, они похожи на комментарии к коду, и они должны быть максимально полезными, но при этом краткими и содержательными. Может быть, лучше думать о них как о твитах — передать максимальное значение в коротком пространстве.

Как человек, который работал над большими базами кода, охватывающими десятилетия, а также над небольшими проектами, охватывающими год или два, я не нашел ничего более раздражающего при прочесывании журналов коммитов, чем сообщения типа «упс» или «исправлена ​​ошибка». Если вы исправили ошибку, сообщите нам, какую (хотя бы номер ошибки). Это все важно для неизбежной судебной экспертизы в будущем.

person Community    schedule 10.06.2010

Я использую сообщение фиксации как резюме для что было изменено.

Резюме — это [...] краткий документ, резюмирующий [...] информацию таким образом, чтобы читатели могли быстро ознакомиться с большим объемом материала, не читая его целиком.

почему задокументировано где-то еще: система отслеживания проблем, документация по требованиям и т. д. Я также включаю ссылки из сообщения коммита на почему и наоборот.

person Dolph    schedule 10.06.2010
comment
Почему это важно? Если вы не документируете это где-либо еще, поместите это в сообщение коммита. - person Yann Ramin; 10.06.2010
comment
@theatrus, я абсолютно согласен, но для любого проекта среднего размера сообщения о коммитах не место для документирования вашего почему. - person Dolph; 10.06.2010
comment
@Dolph, я думаю, что сообщения фиксации - это отличное место для размещения кода-почему, но я согласен с вами, что это плохое место для размещения проекта-почему. Пример: этот код ломал foo, потому что он выдавал сегментную ошибку на bar: good. Эта функция нужна для поддержки Джо из Foo Inc.: плохо. - person Bernd Jendrissek; 17.07.2012