今日、私はクライアントのために何かに取り組んでいたときに、プログラムの一部の機能を壊す方法を見つけました。
(コードは実際にはレガシー コードです。約 10 年間開発されており、私はここで約 1 年しか働いていません。)
エラーが発生したり、プログラムがクラッシュしたりすることはありませんでしたが、ユーザーがプログラムを使用して動作を複製した場合、彼らは「WTF?」を保持していると確信しています。国旗。
私たちのプログラムでは、フィールド (テキストボックス) とテキストボックスにリンクできる静的テキスト (ラベル) に名前を付けました。テキストボックスが埋められていない場合、それらにリンクされていたラベルは消えます。
私が壊れた機能は、既に 1 つ以上のラベルがリンクされているテキスト ボックスの名前を変更し、テキスト ボックスに関連付けられている 1 つ以上のラベルを再関連付けせずにファイルを保存すると、以前に関連付けられていたラベルテキストボックスが空白の場合に表示されます。
この問題に関する私の考えでは、最初は単純なオブザーバー パターンでこの問題を解決できたはずですが、コードを書いていませんでした。
このような状況を店の人たちともっと掘り下げることができれば、ユニットテスト、デカップリング、必要なパターンの適用などを検討するように彼らに相談できるのではないかと考えていました.
このため、あらゆる種類のアプリ (Web ベース、デスクトップなど) で壊れた (ただしエラーの原因ではない) 機能を見つけるためのヒントが誰かにあるのではないかと考えていました。