2011-05-15

http://anond.hatelabo.jp/20110515101054

不明確な条件文になっちゃうって話だよね。主張には同意。

あと、私としては冗長な書き方をさけるという意味で、

    if( foo ){

スッキリするから好きだな。

    if( foo == TRUE ){

という表記は、

「明示的にTRUEでない限りは条件として成立させない(安全側に倒すという観点から、FALSEとして扱う)」

という考えが、そのままコードに表れてるのかなと思った。

ただ、外注レガシーな人はともかく、若い人は後発の開発環境言語使うからBoolean型になじみがあるとおもうんだけど、Windowsプログラミング専門の人はそうでもないのかな?

記事への反応 -
  • まぁ、タイトルの「レガシープログラマ」とは私の事なんですけどね。 最近(?)外注や自社の若いのが作ってくるプログラムに if( foo == TRUE ){ という判定文をよく見かける(fooはい...

    • 不明確な条件文になっちゃうって話だよね。主張には同意。 あと、私としては冗長な書き方をさけるという意味で、 if( foo ){ がスッキリするから好きだな。 if( foo == TRUE ){ とい...

      • 私、Windows屋だが、比較演算子を必ず使うように取り決めている。 if ( a.isFoo() != FALSE ){ // "真"のときの処理}if ( b.isFoo() == FALSE ){ // "偽"のときの処理} つまり、下記のように書かない i...

    • TRUEが定義されてる処理系だったら間違えるわけないんじゃないの?知らないけど。

    • プログラムの文脈によるが、そもそも foo が TRUE or FALSE のみしか入らない事が保証されてないのに、 TRUE とか FALSE と比較すると意図しない動作を引き起こす可能性がありうる(文脈によ...

    • C++言語 fooのintへのキャストがtrue/falseを返すというように、fooのクラス仕様が決められてるんなら、 そしてboolへのキャストが未定義だったり、また違う意味なのなら if (foo) { ではな...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん