些細な修正を記録する必要がありますか?


28

私は2つのコードショップにいます。また、プログラマの数が1人以上の場合にバグトラッカーが役立つことは理解していますが、バグ、変更、修正を記録することは些細なことの価値があると確信していません。簡単なバグを見つけたら、それを理解し、修正し、テストを実行します。そして、私はそれをログに記録する必要があることに気付きました。

理論的には、バグのロギングはバグを見つけてから修正するまでのどこかで行う必要があることを知っていますが、修正する方がロギングするよりも速い場合、ドラッグのように見えます。大規模なコードショップでは、上司は誰が何をしているのかに注意を払い、他の人が何を言っているのかを知ってうれしいです。

すでに修正したものを説明し、すぐにそれらを閉じます。私は誰もがこの閉じられたバグを再び見るのではないかと疑っています。プロセス脂肪を削減する時ですか?


6
バグを見つけたら、そのバグの内容を紙に書き留めてください。バグを修正したら、変更されたファイルを書き留めます。修正を送信する前に、バグを記録してから変更を送信します。習慣をつけるたびにこれを行うと、あなたは現在悪い習慣を持っています。バグを記録することは時間の無駄ではありません。
ラムハウンド

5
これらのバグが些細なものであることをどのように確認できますか?

2
@ashansky、私の質問の2番目の文も読んでくれましたか?
フィリップ

1
自分の作業をログに記録しないことは、a)その功績が認められず、b)「なぜXが行われないのか、なぜYで作業しているのか?」
マイケルデュラント

1
すべてをログに記録することはできません。単に実用的ではありません。なぜ一部の人々は、いくつかのマイナーなものをまったくログに記録しないのか、まったくログに記録しないのと同じように考えているのですか?
ダークナイト

回答:


36

システムに加えたすべての変更を記録する必要があります。イベント後にログを記録しても何も問題はありません-バグレポートを変更番号にリンクしている限り。

その後、何か問題が発生した場合は、バグを追跡し、変更を加えた理由を確認できます。

ほとんどの場合、あなたは正しいですし、誰も二度とこれらを見ることはありませんが、何かがうまくいかない場合、100分の1でこの情報は非常に貴重です-特に問題が6か月後に現れる場合。

更新

明らかに、まだ新しい機能を開発していて、機能の一部にバグを発見した場合、終了したと思ったので、それを別の変更として記録する必要はありません。これらの場合、主要な機能を要求するアイテムに対してログを記録します。

機能を備えたシステムがQAや顧客に渡された後、そしてそれは私が上記で概説した何をする必要があります。


開発の初期段階では、エンジニアリングチームから最初のバージョンをリリースする前に、バグトラッカーに変更を記録する必要はありません。ただし、変更は各送信に対するバージョン管理ログに記録されます。
uɐɪ

@Ianこれは事実ですが、一般に初期開発中(実際に開発を行い、試作プロトタイプなどではない場合)、通常は何らかの機能セットに対して作業します。その場合、各変更はサポートする機能にリンクする必要があります。「完成」機能へのマイナーなバグ修正は、それに対してリンクして、その要素のサポートを示す可能性があります。これは、機能と仕様の追跡方法によって異なります。
CodexArcanum

1
@Darknight-それは簡単ではありません!これは、TFSを使用し、関連付けられた作業項目のないチェックインを許可しないように設定しているという事実によって助けられています。はい、ルールをオーバーライドできますが、停止して、自分が何をしているのかを考えさせます。
ChrisF

1
@Darknight申し訳ありませんが、これらの数字は何の意味もありません。それを言っても、それは真実ではありません。すべてを検証できたとしても これらの数字を提示してあなたから引き出すことができる唯一の結論は、何らかの形で他の人の上に自分を配置することです。それは、率直に言って、無駄で、不必要で、境界線の失礼/攻撃的です。
casperOne

3
@Allこのディスカッションに参加してチャットしてください。
maple_shaft

14

ソース管理ツールを使用する場合は、コミットの説明で修正したバグを説明できます。これは通常、非常に小さな些細なバグ修正に十分なドキュメントです。

さらに、FogBugzKilnなど、ソース管理やリポジトリと完全に統合されたバグ/機能トラッカーを使用すると、グローバル検索ツールを使用してこれらのバグ修正を見つけ、どのようなコード変更を行ったかを確認できます簡単に。

さらに、プログラミングパートナーにコードレビューを割り当てて、あなたが行った些細な修正をレビューできるようにしますが、私は...


1
ええ、そうします。時々、ブランチにいる間に物事を修正し、それらを他のコミットにまとめることがあります。
フィリップ


@matthieu待って、JiraはSVNと統合しますか?私の良さ、なぜそうしないのですか?いくつかのプラグインがあるようです。
フィリップ

5

メトリックの観点から、それはまだ有用かもしれません。

この情報は、上司にいくつかのことを示すために使用できます。

  • より多くの開発者が必要です
  • プロセスの他の何かが壊れている(なぜ多くのバグ?他の人がほとんどのバグを生成する)ので、多すぎるバグがあるかもしれません。たぶんこれを引き起こす何かがありますか?リリースが早すぎますか?十分なテストが行​​われていますか?
  • あなたが取り組んでいるものの良いリストが来ますボーナス時間。

言っていることは、それはあなたが話しているバグがどれほど小さいかに依存します。たとえば、新しいコードを追加しているときに見つけた1つのライナーは、おそらくログに記録しても意味がありません。


2

私は、サイズに関係なく、すべての変更を記録しようとします。自分または他の誰か(将来または現在)がいつ戻って、その変更が他の何かの原因であるかどうかを確認する必要があるかどうかはわかりません。


1

追跡は重要ですが、別のシナリオも検討してください:レビューの時期が来たら。それは正式に直接行われるか、上司がバグトラッカーからレポートを取得することで非公式に行われます。

それらがあなたの数字を後押しする「仕掛け」と考えてください。結局のところ、それらはあなたが修正したバグであり、たとえ些細な修正であっても、修正したことを認識すべきです。

それらを記録します。


ええ、大規模なコードショップでは、ボスはこれに基づいた「メトリック」を持っているので、一般的なアドバイスとしては良いことです。また、バグトラッカーを悪用し、それらのメトリックを意味のない地獄に投げ込む人々につながります。しかし、ここで私と他の男だけです。ボスはバグトラッカーを使用しません。
フィリップ

1

これに答えるには、あなたがプロセスのどこにいるかに本当に依存します。

これらは、新しいプロジェクトまたは設計中の新しい機能セットに適用できます。

初期設計 初期設計時に作成したコードにバグが見つかった場合、そのバグトラックを作成する必要はありません。後で問題が見つかった場合に簡単にそれを解くことができるように、変更に対して別のコミットをお勧めします。

テスト中

コードは通常、単体テスト中に未熟であると考えられているため、別のグループによって実行されない限り、ノーと言います。単体テストがバグトラッカーとは異なるグループによって行われる場合、テスト手順を形式化する良い方法です。

CSCIテストは依存します。別のグループによって行われますか?その場合は、はい(上記を参照)。これはリリース前のテストの最後のステップですか?そうです、この時点であなたのソフトウェアは成熟したとみなされるべきだからです。メトリックに興味がある場合は、この時点でバグの追跡を開始することも良いでしょう。

より高いレベルのテストでは、バグ追跡を使用する必要があります。これらの時点で、ソフトウェアは成熟していると見なされるべきであり、バグの追跡が重要です。

リリース

リリースされたコードのバグを常に追跡する必要があります。これは説明責任にとって重要です。

ニーズに合わせてプロセスを合理化することも重要です。巨大なバグ追跡システムが本当に必要ですか?2人のチームにとって、すべてのフィールドは本当に重要ですか?


1

おそらく、外部にリリースされた古いバージョンのソフトウェアで、他の誰かがバグに遭遇する可能性はありますか?その場合、バグと修正の両方をログに記録しておくと便利です。

他の人は、バグを修正するよりもログに記録するのに時間がかかる場合、ロギングする価値がないと示唆しています。関連する期間は、バグの発見から修正までではなく、バグが導入されてから修正がリリースされるまでの期間であることをお勧めします。

変更とリリースの履歴が、バグがその日の目を見たことがないことを示している場合、ソース管理にチェックインするときに修正を記録するだけで十分です。

これはこの質問にかなり近いですが、これは簡単な修正に焦点を当てているため、重複しているかどうかはわかりません。


1

Jon Arid Torresdalによるバグを追跡しない理由 -代わりに修正してください。

  1. 開発中:機能のバグが発生しました。ビルドを壊すテストケース追加し、機能に対する修正をチェックインします。

  2. リリース後:動作を文書化します。更新のリリースを計画している場合は、1に進んでください。そのリリースを担当していない場合は、プライベートブランチにtest + fixを隠しておいてください。

コードがリリースされた後、他の優先順位があり、バグの修正は簡単ですが、継続的な展開を行わない限り、修正の配布自体は経済的ではない場合があります。


-6

どれほど些細なことによって、私はこの尺度を使用します:

それがかかる場合は長く、それがためにかかったよりも、それをログに記録する修正することを、それがない価値がそれのロギング。


3
修正するよりログを取るのに時間がかかるからといって十分な正当化はできません。ハ!これは説明:)持っていた
uɐɪ

2
私はこれを支持しませんでしたが、誰かがなぜそうしたのかを推測しなければならなかったのは、彼らがすべてのバグ修正を記録することを信じているか、あなたの答えがあまり役に立たない/洞察力がないと思うからです。
CFL_ジェフ

3
投票するつもりはありませんが、これは一般的なルールとしては同意しません(ほとんどの場合、それは理にかなっています)。出荷されたが、QAネットをすり抜けた「1つずれたエラー」があった場合はどうでしょうか。修正するよりログを取るのに時間がかかります
....-PhillC

2
それが記録されていない場合はQAで固定として、それを検証することはできません
26の17

3
-1これは単にプログラマ傲慢(」です私はミスをしないでください)と無知(私は悪いが、マイナーな修正で起こるものを見ていませんでした)。「マイナーな」修正による非常に優れたクラッシュと書き込みは、通常、これに役立ちます(経験とも呼ばれます)。
マイケルデュラント
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.