コードが何をしているのかを理解するためにコードをステップ実行するために、作業している言語のデバッガーを使用しますか? それとも、他の人が書いたコードを見て、何が起こっているのかを理解するのは簡単だと思いますか? C# で記述されたコードについて話していますが、どの言語でもかまいません。
7 に答える
これには単体テストを使用します。
はい。ただし、通常は、他の方法に耐性があることが判明したバグを調査するためだけです。
私は組み込みソフトウェアを書いているので、デバッガーを実行するには、通常、テスト中の PCB にデバッグ モジュールを物理的に接続し、リンクを追加/削除し、デバッグ ソケット (まだ存在しない場合) にはんだ付けする必要があります。もし可能なら。また、一部の古いデバッガ ハードウェア/ソフトウェアは、少し不安定な場合があります。
コードの特に複雑なセクションについてはそうしますが、一般的に、私の仲間の開発者は、それがなくても理解できるほど明確なコードを書いてくれることを願っています。
誰がコードを書いたかにもよりますが、デバッガーでさえそれがどのように機能するかを理解するのに役立ちません.コードのすべての行で可能な限り多くのことを成し遂げることができると自負している同僚がいます. これにより、長い目で見ればコードが何をするのかを理解するどころか、しばしば読みにくいコードになる可能性があります。
個人的には、私が書こうとしているコードと同じくらい読みやすいコードを見つけることを常に望んでいます。
私は主にデバッガーを使用して、例外にブレークポイントを設定します。
そうすれば、私が書いたテストまたは単体テストを実行でき、例外が発生した場合でもコードが失敗した場所にいることができます。
いつも使っているとは言いませんが、かなり頻繁に使っています。私が取り組んでいるドメインは、自動化と制御です。システムのさまざまな内部状態を確認するためにデバッガーが必要になることがよくあります。通常、コードを見るだけでこれらを判断することは困難または不可能です。
はい。ただし、単体テストの対象範囲がなく、コードを理解するのが特に難しい場合の最後の手段としてのみ使用してください。デバッガーを使用してコードをステップ実行するのは時間のかかるプロセスであり、あまり楽しくありません。私は、VBA コードをたどろうとするときに、この手法を頻繁に使用する傾向があります。