Code Complete1人読書会 その10

第10回目。

寝ようかと思ったけど、もうちょっと書いてみる。
次は変数の話。

 要求とアーキテクチャの小さな隙間をコンストラクションで埋めるのは、当たり前のことであり、そうすることが望ましい。顕微鏡でなければ見えないような細かな点までいちいち設計図に明記するのは効率が悪い。
《Code Complete 第2版 上, 2005/03/28, 日経BPソフトプレス, p.291》より

書いた後に気付いたけど、別に"変数"ってわけじゃないな。うむ。
次からは変数変数。

変数のスコープに関する話題の中での一言。

 「便利さ」をとるか「頭での理解しやすさ」をとるかは、つまるところ、プログラムを書くこととそれらを読むことのどちらに重きを置くかの違いである。
《Code Complete 第2版 上, 2005/03/28, 日経BPソフトプレス, p.308》より

もちろん、読むことに重きを置くべき。
スコープを広げるとその瞬間は便利に思えるかもしれないけど、後から追っかけるのは大変だし、想定外の使われ方をする可能性も格段に高くなっちゃうし。せまく、せまく。


次は変数の使い方に関する話。

 コードの書き手にとっては変数が二重の目的で使われていることが明白であったとしても、他の人にとってはそうではない。
《Code Complete 第2版 上, 2005/03/28, 日経BPソフトプレス, p.315》より

ここでは、具体的に以下のような例をあげてます。

変数pageCountの値は、印刷するページ数を表すが、-1の場合はエラーが発生したことを示す。

うーん。下位のルーチンの処理結果を戻り値として受け取る時とか、やってしまいがちかも。。
ちゃんと例外とかを用いてきれいにした方がいいんだろね。確かに読み手には優しくないもんね。


それにしても我が家のリビングは寒い。手がかじかむったらありゃしないわ。
今度こそ寝よう。