今まで問題を引き起こしたことがないバグの修正


20

最近、一部のコードを以前よりもはるかに頻繁に実行するように変更しました。これがバグの発見につながりました。このバグは、コードが実行されるたびに発生する可能性がありましたが、実行されることはめったになかったため、表面化することはありませんでした。

これを主任開発者の注意を引き付けたとき、「壊れていない場合は修正しないでください」という格言を引用してバグを修正するのではなく、バグを公開した変更を元に戻したいと考えました。

私たちにとってこれまでは幸運だったが、理性に耳を傾けないことは明らかだ。

とにかく修正する必要がありますか?

更新

技術的には、リードには私に対する権限はありません。ちょうど在職期間。彼は一年前まで何年もの間このプロジェクトの唯一の開発者であり、建設的な批判をあまり受けていないと思います。何の価値があるのか​​、私は彼を批判しなかった。バグが現れなかったからといって、バグがそこになかったわけではないことを指摘しました。


それはスレッド関連のバグですか?
TheLQ

3
彼には理由があります。うんちがファンに当たると、彼がローストすることになります。あなたが彼が尋ねたことをしなかったために彼がローストされた場合、あなたは大きなパドルが必要になります。
マーティンヨーク

3
変更を元に戻してもバグが発生するケースを作成できますか?そうでない場合、おそらくバグではなく、fea ^ H ^ H ^ H ^ Hnの文書化されていない制限です。
Steve314

3
うーん、「壊れている場合は、他の何かを修正してください。」-それは斬新な解釈です、彼にそれをあげます。
11

1
「破損していない場合は、修正しないでください」しかし、それは壊れています。
StuperUser

回答:


26

バグ追跡がある場合は、送信することをお勧めします。それが重要な場合は、それを高めて彼の注意を引き付けてください。上司にトラッカーで降格させます。物事がうまくいかないときは、紙の道があります。


9
覚えておいてください:お尻をカバーしてください:
gruszczy

1
それほどラッキーではありません。すべてがパンツの座です。バグ追跡、要件収集、テストはありません。おそらく管理者がそれを要求していなければ、バージョン管理さえないでしょう。
ケネスコクラン

18
作業環境の説明に基づいて、主任開発者から修正しないように指示されたときにうなずき、微笑んで、先に進み、とにかくやりたいことをやったはずです。
Carson63000

2
次回はそのような質問をしないでください:
gruszczy

2
@codeelegance:「バグ追跡、要件収集、テストなし。おそらく、管理者がそれを主張していなければ、バージョン管理さえないでしょう。」-スウィートマリアマザーオブゴッド!! 1 !! その環境は、ユーザー名とはまったく皮肉です。:)
ボビーテーブル

8

個人的には、それが価値以上の多大な努力を必要としない限り、それを修正します。「壊れていない場合は、修正しないでください」というのは、ソフトウェアに適用するのは恐ろしいことです。

あなたの主任開発者があなたの上司であり、彼がそれに触らないと言ったら、その場合私はそうしません。


2
サイクルのどのくらい遅れていますか?これは潜在的な自殺の可能性があります。
ジョブ

8
「破損していない場合は修正しないでください」というのは、ソフトウェアに適用するのに最適なルールです。ソフトウェアが破損したときだけではありません。
Steve314

壊れていない場合は修正しないでください。壊れたコードの定義に応じてソフトウェアに適用されます。座って、明らかに修正が必要なコードをじっと見つめると、壊れてしまいます。あなたが壊れたコードの回避策の実装を開始、あなたが実際に逆方向に働いていると、時間に壊れたコードが...難しく修正になります瞬間
Ernelli

2

ほとんどの回答とコメントは、バグレポートを作成し、他の誰かに電話をかけてもらうことで、決定に対する責任を軽減することを示唆しています。

私はバグトラッカーを持っていないので(そして、もしそうなら私以外の誰かがそれを使用するのではないかと疑います)、私は次善の策を講じました。主任開発者の頭を調べました。経営陣に状況を説明した後、彼らは私のやり方で物事を見ました。彼らはそれを適切に修正し、リードの需要要求を無視するように私に言った。彼らは、彼がこれまでに迷惑行為を発見し、不満を言うなら、波立たせた羽を滑らかにするだろうと言った。

理想的な解決策ではありませんが、少なくともバグは適切に修正されました。


あなたは指揮系統の範囲内で働き、それでお尻を覆いました。バグ追跡ソフトウェアを使用すると、あなたの会社が何かあるはずです検討し、それはなど、このようなものの少なくともキープトラック、および機能要求、助け
Berin Loritsch

2

「壊れていない場合は修正しないでください」ではなく、「クライアントが気付いていない場合は修正しないでください」というフレーズを彼に思い出させてください。


1

あなたが行った変更にはどのような正当性がありますか?ユーザーがどのような変更を経験するか、技術的な負債が取り除かれたかを指摘できない場合、変更を取り消すだけで事態を悪化させるという点で主任開発者に賛成です。


私の心には、少なくともいくつかの異なるオプションがあります:

ただ先に進んでバグを修正すると、ミックスにさらにバグが追加される危険があり、それが私の頭に浮かぶ可能性があります。あなたがどれだけの経験を持っているかと、ここで私のガイドになる可能性のある厄介な驚きを避ける自信に依存します。

あなたが言われたことをするなら、問題になるのは罪悪感だけですか、それ以上ですか?ここでは、原則と価値として知られているもの以外に何が間違っているのだろうかと思っています。ちょっとした冗談としてだけでなく、このアイデアの何が間違っているのかという正直な点でもありますか?


別のバグを修正するには変更が必要でした。リードは、バグの原因を修正するのではなく、コードの実行頻度を制限する条件を置くことを提案しました。修正したバグと発見したバグはどちらもショーストッパーです。
ケネスコクラン

3
その場合、適切に修正する必要があります。問題を取り巻く条件を使用すると、大惨事が延期されるだけでなく、さらに多くの新しいコードが追加されるため、問題が発生しやすくなります。その悪い(愚かな)ソリューションです。
すぐに

1

私の圧倒的な本能は、問題を隠さないようにバグを修正することですが、鼻を抱えて問題を隠すシナリオがあります。

  1. コードは内部的に使用され、場合によっては、バグの結果を社内で管理できます。
  2. 今日の出荷を要求する圧倒的な商業的考慮事項、および2週間後にバグ修正を最小限の結果で展開できます。

専門的には、私はこれらの答えが気に入らないので、これらの状況のいずれかが発生していることを内部的に明確にします。


0

最終的に、上司が明示的に言っていないことは何もすべきではありません。あなたの立場で行うべき最善のことは、あなたが持っているバグ追跡データベースにバグレポートを作成することだと思います。このように、少なくとも誰もが問題を認識しており、より権限のある人がその問題の対処方法を決定できます。


0

バギー関数をコピーし、修正を適用し、名前を変更し、少し変装して、代わりに呼び出します。

あなたの2つのショートップのバグのコメントに基づいて、あなたの最良の選択は法律の手紙に従うことですが、その精神を無視することです。

明らかに、カットアンドペーストコーディングの欠点がありますが、それはあなたの問題の中で最も少ないように聞こえます。


1
悪い考えです。プログラマーの一人がそのようなことをしているのを見つけたら、その場で彼を解雇します。それは、コードにダメージを与える保証された方法であり、そのコードを維持しなければならない人のためです。
三木ワット

@Miki-この場合、悪い考えではないことを正確に教えてください。他のバグ(とにかくそこにあった)をより目立たせたので、バグを元に戻す方法は良いことです。現場での発砲に関しては、開発者にはほとんど選択肢がなかったため、建設的な解雇を主張します。
Steve314
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.