« 順序 | トップページ | 健康管理と空気清浄機 »

2011年1月20日 (木)

気を付けるレベル2

おはようございます。本日の当番、プログラマーのT.Tです。
プログラムのよくあるバグをなんとかしてみようのコーナーです。
続いてしまった第2回です。

今回のはよくあるものでもなさそうですが。

それはとてもとても昔のこと・・・。
「えーっとiが3のとき~」
とか考えながら書いちゃったのがコイツ。

if (i = 3) { ~ }

比較には「==」っていう演算子を用いるんですが、
それを打ち間違って「=」と書いちゃったわけです。

こいつねー。
厄介。超厄介。
iに3入るわ真になって中入っちゃうわで大変。
もちろんエラーになりません。
(ワーニングカーチャンは教えてくれますけど)

どっかでハングしてくれればいいんですけど、
そのまま通っちゃうし、
けど確実におかしな挙動になっちゃうし、
さらにはそのおかしくなった箇所自体は問題なかったりでマジヤバイ。

まぁ気を付けていれば出ないものなのですが、
ふとしたときに忘れてしまうことなんてよくあります。

そこで!
意識だけ持っておくのではなく、
書き方を変えることで、「気を付ける」のレベルを一つ上げます。

以下のように書きます。

if (3 == i) { ~ }

iと3を逆にします。

これで「=」と書き間違えた時、エラーを吐くようになります。
3は変数ではないので、値を代入できないというエラーになります。

変数同士の場合、片方が定数でいいならconstにしておくというやり方もあります。

両方が完全に変数ならどうしようもないんですが、
書き方を気を付けておくことで、
案外、変数同士の時でも気を付けるようになっていきます。

気を付けるレベルを上げるのは他の事にも使えるでしょう。
頭の中だけで完結せず、実際に少し反映してみるのが大事ですね。

カロリーを気を付けるレベルはどうやって上げるのか方法プリーズ。

|

« 順序 | トップページ | 健康管理と空気清浄機 »

プログラマー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217647/50628979

この記事へのトラックバック一覧です: 気を付けるレベル2:

« 順序 | トップページ | 健康管理と空気清浄機 »