Чи слід входити в тривіальні виправлення?


28

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

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

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


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

5
Як ви можете бути впевнені, що ці помилки банальні?

2
@ashansky, ти навіть читав друге речення мого запитання?
Філіп

1
Незареєстрування власної роботи - це вірний спосіб а) не отримати за це кредиту; б) запитати "чому X не зроблено і чому ви працюєте над Y?"
Майкл Дюрант

1
Не можна все реєструвати, його просто не практично. Чому деякі люди стрибають вгору і вниз, думаючи, що деякі як не вести кілька незначних речей? РІВНЯЙТЕ взагалі не входити ???
Темна ніч

Відповіді:


36

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

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

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

ОНОВЛЕННЯ

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

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


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

@Ian Це правда, але зазвичай під час ранньої розробки (якщо ви маєте на увазі, що насправді розробляються, а не дослідницькі прототипування чи якісь подібні), ви, як правило, працюєте проти певного набору функцій. У цьому випадку кожна зміна має пов'язуватись із функціями, які вона підтримує. Незначна помилка виправляє вниз лінію до "готової" функції все ще може посилатися на неї, щоб вказати на підтримку цього елемента. Майте на увазі, це залежить від того, як ви відстежуєте функції та характеристики.
CodexArcanum

1
@Darknight - це непросто! Це допомагає той факт, що ми використовуємо TFS і налаштували його так, щоб забороняти чеки, у яких немає пов'язаного робочого елемента. Так, ви можете перекрити правило, але воно зупиняється і змушує задуматися над тим, що ви робите.
ChrisF

1
@Darknight Вибачте, але ці цифри нічого не означають. Говорячи, це не робить це правдою; навіть якщо ви могли б це все підтвердити, то що? Єдиний висновок, який я можу зробити з вас, представляючи ці цифри, - це спробувати якось позиціонувати себе над іншими, що, відверто кажучи, видається марним, непотрібним та прикордонним грубим / образливим.
casperOne

3
@У будь-ласка, візьміть цю дискусію до чату.
maple_shaft

14

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

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

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


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


@matthieu Зачекайте, Джира інтегрується зі SVN? Боже мій, чому ми цього не робимо? Схоже, є кілька плагінів.
Філіп

5

З точки зору метрики, це все ще може бути корисним.

Ця інформація може бути використана для показу шефу низки речей:

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

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


2

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


1

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

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

Запишіть їх.


Так, у більших магазинах з кодами у шефа є "метрики", що базуються на цьому, тому це гарна загальна порада. Це також призводить до того, що люди зловживають помилками та кидають ці показники у безглузде пекло. Але ось тільки я та інший хлопець. Бос не використовує трекер помилок.
Філіп-

1

Відповісти на це дійсно залежить від того, де ви перебуваєте в процесі.

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

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

Тестування

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

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

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

Відпустіть

Ви завжди повинні відслідковувати помилки на звільненому коді. Це важливо для підзвітності.

Також важливим є упорядкування процесу відповідно до ваших потреб. Вам справді потрібна величезна система відстеження помилок? Чи справді всі поля важливі для команди з 2 людей?


1

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

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

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

Це досить близько до цього питання , але я не впевнений, що це дублікат, оскільки цей фокусується на банальних виправленнях.


1

Чому вам не слід відслідковувати помилки, Джон Арід Торресдал - виправляйте їх замість цього.

  1. Під час розробки: ви стикаєтеся з помилкою для функції; ви додаєте тестовий випадок, який порушує збірку , і перевіряєте виправлення щодо функції.

  2. Після звільнення: документуйте поведінку . Якщо ви плануєте випустити оновлення, перейдіть на сторінку 1. Якщо ви не відповідаєте за цей випуск, збережіть тест + виправлення в приватному відділенні.

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


-6

Залежить, наскільки тривіально, я використовую цей захід:

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


3
Тільки тому, що журнал займає більше часу, ніж виправлення, не є достатнім виправданням. Га! цьому було пояснення :)
1212

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

3
Я не збираюся його проголосувати, але я не згоден з цим як загальне правило (хоча в більшості випадків я бачу, що це має сенс!). Що робити, якщо у вас виникла «помилка однієї помилки», яка була відправлена, але прослизнула через мережу QA?
Увійти

2
Якщо він не зареєстрований, він не може бути перевірений як встановлено QA
17 від 26

3
-1 Це просто зарозумілість програміста (" я не помиляюся") та незнання (я не бачив, щоб нічого поганого не трапилось із незначними виправленнями). Один із справді хороших аварійних ситуацій та аварійних виправлень, виправлених у результаті другорядного виправлення, зазвичай допомагає в цьому (також відомий як досвід).
Майкл Дюрант
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.