Чи слід писати повідомлення про вчинення у поточному чи минулому часі? [зачинено]


102

Отже, що це, на вашу думку, краще та інтуїтивніше?

Fixed the XXX bug in YYY
Fix the XXX bug in YYY
Fixes the XXX bug in YYY
Fixing the XXX bug in YYY

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


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

1
Це не справжнє питання. Це питання про один невеликий аспект, а не загальні вказівки.

3
На щастя, це не так. Я запитував, намагаючись з’ясувати, хотів би знати, яка там загальна практика. Якщо мені доведеться сказати вам правду, це насправді найнезначніше питання, яке я коли-небудь задавав на ЗО, але ей, це все-таки питання, чи не так? Саме запитання набрало трьох голосів, що (якщо вам це не очевидно) говорить про те, що я не єдиний, хто думає, що це питання само по собі справедливе. Я після конструктивних відповідей, і ви зовсім не допомагаєте.
Його

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

10
Я дуже серйозно ставлюсь до цього питання. Це велике питання. Бути послідовним дуже важливо при розробці програмного забезпечення, і таким чином слід зацікавити всіх відвідувачів, які цікавляться темою цього веб-сайту. Це моя думка.
Ніклас Берглунд

Відповіді:


39

Я думаю про ці повідомлення, як вони з’являються перед іншими розробниками. Вони ще не застосовують зміни, і виникає неявний питання, "що буде застосовувати цей набір змін / виправлення?" Це "Виправить XXX помилку у РРРР"!

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

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


8
Пам’ятаю, натрапив на щось із документації на git, настійно рекомендуючи цей час, але все ще я знаходжу в незручності.
keithjgrant

1
Це частина документації Git.
sschuberth

31

Я особисто йду з минулим часом ("виправлено"), оскільки до моменту, коли я прихожу до вчинення помилки, виправлено (або я б не робив цього).


Чи можете ви навести приклад цього?
bzlm

15
приклад цього.
Преосвященний Гонзо

Це називається "Історія фіксації". Історія завжди пишеться в минулому часі. Тож минуле напруження має більше сенсу. Коли ви також переглядаєте історію фіксації деяких репо, ви дивитесь, що було зроблено для цього ... у минулому!
Шива

13

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

Уявіть, що дивитесь на різницю в ізоляції та намагаєтесь вирішити, чи застосовуватимете ви її. Немає сенсу мати титул у минулому часі.


1
"що робить diff", але diff створюється комітетом, який було здійснено , це вже в історії git, тому воно вже було "застосовано".
Юліан Онофрей

9

IMHO, якщо ви хочете, щоб він був описовим без необхідності враховувати контекст, тоді "Виправлений", безумовно, єдиний правильний варіант.

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

"Виправлення" - це найгірший вибір ІМХО, оскільки його можна інтерпретувати не лише як опис того, що робиться (і) для виправлення, але і як статус помилки, що означатиме, що над ним працює і ще не вирішено.


7
Fix the XXX bug in YYY
Teach the XXX to be more ZZZ
Correct typos in javadoc

Взагалі: {imperative verb} {object object} {необов'язкові класифікатори}

Імперативна форма підходить для всіх випадків використання, коли я розглядаю патчсет.

  • Що ти тут будеш робити?
  • Що робить цей патчсет?
  • Чому був створений цей патчсет? (виправити помилку xxx ...)
  • Мені потрібно виправити помилку xxx у yyy. Чи є комісія в іншій галузі, яка вже робить це?

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


4
Дуже вагомі причини. Я завжди вважаю це так, ніби в повідомленні сказано: "Я патч, і я [повідомлення]". Таким чином ви завжди починаєте з імперативного дієслова.
florisla

5

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


1
Я згоден. Якщо фіксація посилається на себе, це також відповідає дійсності, як у "Цей комікт виправляє помилку F00F".
bzlm

4

Я не думаю, що це насправді має значення. Мета:

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

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

Нарешті, якщо це "вже виправлено", "Виправлення" не має сенсу, і якщо ви все ще працюєте над ним, "Виправлено" не вірно.


1
Звичайно, строго кажучи, це правда, що це насправді не має значення. Але якщо вам доведеться вибрати одну, коли ви виправили помилку у вашому локальному дереві та хочете здійснити внесені зміни, ви скажете "Виправлено XXX" чи "Виправлено XXX" чи "Виправити XXX"?
Його

1
Я думаю, це має значення, якщо текст занадто короткий. Іноді я бачу повідомлення про вчинення, які змушують мене замислитись, чи 1. помилка знайдена чи фактично виправлена, або 2. чи виправлена ​​помилка чи застосована фактично, чи 3., чи складна помилкова поведінка була частково чи фактично повністю виправлена. І іноді кілька комітетів стосуються однієї і тієї ж помилки. У "Цей фікс виправляє проблему підстрибування в DrawBall () і закриває квиток 666" напруга не має значення, оскільки текст є багатослівним. Але оскільки "DrawBall () відхиляється неправильно", що зробила фіксація?
bzlm

2

" Виправити помилку X " на 2 символи коротше, ніж " Виправлена ​​помилка X ".
І на 3 коротше, ніж " Виправлення помилки X ".

З точки зору написання коротких повідомлень-повідомлень, теперішній час іноді / зазвичай економить кілька символів?
Я думаю, що насправді має значення небагато, наприклад, з рекомендацією Гіта про менше, ніж 50 символів, на першу позицію повідомлення.
Крім того, менше тексту -> швидше читання?


1

Повідомлення комісії описує, чому ви написали код, який виконується.

"Виправлена ​​помилка 3124" або "Виправлення випуску 3124" здається правильною, оскільки вона говорить, що цей код виправлений | виправляє виправлення 3124.

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


0

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

Хоча я бачу переваги використання теперішнього часу (і насправді натрапив на цю посаду, тому що я бачив кілька справжніх повідомлень про напругу в проектах з відкритим кодом), я, мабуть, ніколи не буду використовувати сучасний час для моїх проектів. Це рекомендований спосіб для Linux та Git, і, ймовірно, інших великих проектів з відкритим кодом, але я, чесно кажучи, не хвилююся, доки я не є частиною цих проектів.

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

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


-1

Я думаю, що "Fixes XXX bug"має більше сенсу, ніж "Fix XXX bug"якщо причина використання теперішнього часу полягає в тому, щоб "зробити його більш описовим для того, що робить", а не того, що робив комітер.


-4

Якщо це невелика фіксація, я використовую поточний безперервний:

Виправлення помилки 304

або

Додавання коментарів

Якщо це велика комісія, я роблю більше журналу змін:

  • Виправляє помилки 453, 657 та 324
  • Додавання синтаксису виразів
  • Відновлено клас оператора.

9
іншими словами, ви змішуєте їх усі
вольово-неволі

Досить. Тому що, врешті-решт, повідомлення комітів не повинні бути англійськими королевами.
tster

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