Як писати повідомлення про фіксацію як соло-розробник?


30

У своїх проектах, де сховище ділиться між мною та іншими програмістами, я завжди пишу повідомлення про фіксацію, навіть якщо я є основним розробником.

Але в тих проектах, де я сольний розробник, який працює над проектом, і сховище розміщене на моєму персональному ноутбуці, і він навіть не розміщений клієнтом, отже, ніхто, крім мене, не побачив би зобов'язань, чи варто все-таки писати фіксацію повідомлення?

Поки я писав їх, але я виявив, що ніколи не повертався назад і не переглядав свої повідомлення про вчинення. Я забираю час на розробки, щоб записати повідомлення, але потім вони більше ніколи не бачать мене.

Чи є якісь вагомі причини для написання повідомлень про вчинення в якості соло-розробника, або вам слід просто пропустити їх на користь залишатися зосередженими на розвитку?


14
"Я ніколи не повертався назад і не переглядав свої повідомлення про вчинення" добре, коли перший раз, коли вам доведеться повертатися назад, напевно, ви забезпечите це вагомою причиною. Насправді, гуляючи у взутті, я, мабуть, мовчав би до тих пір, поки не відбудеться перше повернення
гнат

5
"Я завжди пишу повідомлення про фіксацію, навіть якщо я є основним розробником." Ви думаєте, що це незвично? Звичайно, первинний розробник повинен писати повідомлення, навіть більше, ніж інші розробники (які вже мають 100% часу).
AlbeyAmakiir

7
Повідомлення фіксації є чистим золотом, коли ви починаєте підтримувати старіші версії свого програмного забезпечення, а не лише новітніх.

Відповіді:


43

Ну ось одна причина: якщо ви раптом зрозумієте, що щось порушено за останні кілька сотень комітетів (можливо, якщо ви здійснюєте при кожній незначній редагуванні, менш можливо, якщо ви, як і я, робите лише "стабільні" знімки), ви можете легше знайдіть, де ви вставили помилку, якщо ви написали чіткі повідомлення про фіксацію, а не "виправлення помилок". (Я вважаю, улюблена струна колеги, я вважаю). Звичайно, ви можете піти з svn logбудь-яким SCM, який ви використовуєте, але навпаки, це має бути легше.

Також повідомлення про примушення змушують вас думати, що саме ви зробили як зміни, і, я вважаю, підсумовуючи свою думку, як було б найкраще продовжувати вдосконалювати проект.


13
+1 за останній абзац. Я вважаю, що написання належного повідомлення про фіксацію займає майже нульовий час, тому що я завжди знаю, чому я вніс зміни.
Стівен Дарлінгтон

5
Що стосується моїх сольних речей, я маю своє повідомлення про прихильність, перш ніж щось над цим працювати. Я роблю невелику річ (націлюйтеся на 30-45 хвилин ... сюди потрапили дружина та діти!), І виконую це. Можливо, ви могли б назвати це прихильним розвитком?
corsiKa

52

Я намагаюся завжди. Скільки разів ти озираєшся і думаєш: "Людина, що я робив, коли зробив цю зміну". Я роблю весь час. 30 секунд написання повідомлення допоможе вам зекономити 20 хвилин, намагаючись запам'ятати.


12
Це також допомагає при створенні щомісячного звіту. Список повідомлень про фіксацію є чудовим початком для звіту
mhoran_psprep

2
Так, і це дійсно займає лише один раз, коли вам це потрібно, щоб повернути час, який він потребує, роблячи коментар.
tzerb

20

Чи чесно ви вірите, що накладні витрати на друку від 40 до 80 символів простою англійською мовою є значними накладними витратами, або ви шукаєте привід бути лінивим?

Можливо, у вас є проблема висловити простою англійською мовою, чому ви внесли зміни, і в цьому випадку вам може знадобитися переглянути мету змін, навіть до того, щоб запитати себе, чи дійсно вам потрібно це зробити.

Моя порада - не думайте, що оскільки ви літаєте сольно, ви можете порушити правила. Будьте завжди професійними та додайте змістовні повідомлення про вчинення. Як зазначають інші репортери, одного дня ви будете йому вдячні.


14
  • Ви не завжди будете розробником соло.

  • Зрештою ви зламаєте свою кодову базу і спробуєте відновити її. Гарні повідомлення про фіксацію допоможуть вам заощадити години.

  • Ви не можете згадати, над чим працювали три тижні тому, правда?

  • Повідомлення про виконання зобов’язань повинні бути дуже чіткими. Якщо їх немає, то ви або не закінчили працювати над завданням, або одна задача поширилася на дві або більше задач.


7

Однозначно, інакше ви робите такі функції, як розгалуження та об'єднання набагато складніше у використанні. І ви будете хотіти використовувати їх, навіть якщо розробник соло.


6

Однією з можливих причин: вона змушує думати більш абстрактно про щойно внесені зміни та структурувати зміни.

Якщо вам здається безглуздим, можливо, просто прокоментуйте основні зміни або ті, що змінюють існуючу функціональність, якщо ви коли-небудь шукаєте джерело дивної поведінки.


Цікаво переглянути цю відповідь. Останнім часом я зайняв дещо екстремальну позицію: взагалі немає повідомлень про фіксацію. Але це на досить плоскому проекті HTML / JS, де я не можу уявити, щоб коли-небудь намагалися відстежити регресію. Будь-які зусилля, витрачені на написання повідомлень про вчинення, майже напевно краще витратити десь в іншому місці. (Не всі проекти в цій категорії!)
Стів Беннетт

4

Я був єдиним комітетом проекту TXR і досить рано зберігав детальний ChangeLog. Це близько 11000 рядків і зростає: http://www.kylheku.com/cgit/txr/tree/ChangeLog

(Повідомлення про фіксацію в РЕПО - це лише копія того, що відбувається в ChangeLog.)

[2016 редагувати: станом на середину 2015 року я більше не підтримую файл ChangeLog; однак повідомлення комісії написані у форматі, який одночасно відповідає умовам Git та ChangeLog. Такий самий рівень деталізації є, таким чином, що не викликає проблем з об'єднанням. Файл ChangeLog можна механічно реконструювати з цих коментарів.]

Так, не раз я повертався до старого повідомлення про фіксацію, пов’язаного зі зміною, яка щось порушила (виявлено за допомогою git bisect). Повідомлення допомогло мені зрозуміти, що я роблю.

У ChangeLog ви можете вказати, коли вперше була введена функція, тип, макро- чи глобальна змінна та коли її згодом торкнулися зміни.

Але головна причина написання таких детальних повідомлень про фіксацію, як ці, коли ви працюєте самостійно, така: ви виявляєте помилки, роблячи це .

Написання детального повідомлення про фіксацію має подібні переваги як перегляд коду вашого зобов’язання кимось іншим. Значення в огляді комісій не стільки в тому, що хтось перевіряє ваш код, а в тому, що ви повинні пояснити свої зміни іншому розробнику.

Коли ви намагаєтесь пояснити речі, іноді виявляєте, що вони не мають сенсу.

Ще одна причина: ви можете зловити себе, роблячи марну зміну . Написавши детальний коментар про вчинення, ви сприймаєте високий рівень погляду на те, що ви робите, і тоді іноді ви стикаєтесь з тим, що це не дуже добре.

Я іноді вносив зміни, коли в середині написання запису ChangeLog я зрозумів, що це буде git reset --hardшвидше (відкинути ці непотрібні зміни) git commit -a.


3

Поки ви ще не стикалися з необхідністю переглядати повідомлення про свої зобов’язання, ви можете бути їм дуже вдячні в майбутньому. Слід писати їх навіть для себе. Є багато причин, які вони можуть бути корисні пізніше (ви забули, чому ви додавали функцію, знайдіть відсутні файли тощо)

Ось пов'язане питання щодо мети введення повідомлень: Чому я повинен написати повідомлення про прихильність


3

Я завжди здійснюю змістовне повідомлення про зміни, і це часто роблю з поступовими змінами.

Це завжди найкорисніше? Ні, в цьому немає жодної проблеми. Якщо вам потрібно повернутися до попереднього етапу в процесі виконання, ваші повідомлення дадуть вам знати, де ви знаходитесь і що зробили. Він також може бути використаний для відстеження прогресу проекту. Що стосується того, що це сприймається як деяка марнотрата часу, чи потрібні 30 секунд, щоб записати речення, що насправді таке наслідкове?


3

Я не бачу різниці стосовно повідомлень про поспіль, незалежно від того, працюєте ви в команді чи ні. Ви пам’ятаєте, що ви робили тут чи там лише протягом обмеженого часу, а після цього це те саме, як якщо б хтось ще написав це. Тож ви повинні писати повідомлення так само добре, як і для інших людей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.