プログラマ ずんべ の日記

zunbe

プログラマ ずんべ の日記
プログラマ ずんべ の日記

探し物は見つかりましたか? サイト内検索を試してください。

スカパーの住所変更 スカパーの住所変更 ガス・ファンヒーターは自動停止しない ガス・ファンヒーターは自動停止しない

2005/12/08

【プログラミング】「+」と「Or」

初心者にありがちな誤ったプログラム例をひとつ。

Visual Basic で書かれているプログラムで、以下の様なコードを最近、よく目にする。

--
Call MsgBox("プロンプト", vbCritical + vbOKOnly, "タイトル")
--

このコードには、根本的な間違いがある。
この部分である。

 vbCritical + vbOKOnly

「vbCritical」と「vbOKOnly」に、値がどのように定義されていて、どのような結果を求める必要があるかを考えれば、「+」で演算を行ってはならない事は明白である。
ここで行おうとしている演算は、「vbCritical」と「vbOKOnly」が持つ値のビットパターンを演算し、立っているビットをすべて残す事が目的なのであるから、行うべき演算は「+」ではない。
当然、この様に記述するべきである。

 vbCritical Or vbOKOnly

よほど変な組み合わせを書かなければ、「+」で記述しても誤動作する事は無い。
しかし、そんな事は問題ではない。
関数や処理が求めている演算方法を正しく理解し、適切な演算子を使用することは、プログラマとして当たり前にできなければならない事だと思う。
しかし、最近は、「動くからいいじゃん」的な考えのプログラマが多いような気がしてならない。

若いプログラマは、もっともっと勉強してほしいと思う。



このエピソードはいかがでしたか?

投稿者 zunbe : 2005/12/08 03:18:02


トラックバック 〔http://blog.zunbe.com/mt/mt-tb.cgi/155〕

コメント

コメントしてください






保存しますか?


スパム対策:
この入力フィールドに「256」と入力してください。


プログラマ ずんべ の日記:ずばヒット アマゾン