読者です 読者をやめる 読者になる 読者になる

何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『Effective Debugging』Item 3: 事前条件と事後条件が満たされていることを確認する

Effective Debugging

『Effective Debugging』の続き。タイトルオンリーな気がしないでもない。

www.kinokuniya.co.jp

Effective Debugging

怪しい箇所を調べる際には事前条件と事後条件を確かめましょうという話。 ルーチン(懐かしい響きだ)の前後、ルーチンが呼び出された前後、重要なアルゴリズムの実行前後にブレイクポイントを置いて調べよう、チェックしようという話。 函数に渡す引数は定義域に収まっているか、とか返り値は妥当な値なのか、などを調べる。 まあ、タイトルオンリーなのでこれ以上は本文読んでねとしか書けないが、最後によいメッセージがあった。

In all cases verify, don't assume.

「すべてのケースを調べろ、想定するな。」と訳せるだろうか。 何かと調べる際には先入観が邪魔したり、「正しいはず」と調べもせずに断定してしまうことがあるが、それを戒める一文である。 プログラミングに限らない話であるので、なるべく意識していきたいと思った次第。