タグ

宗教戦争に関するkiyo_hikoのブックマーク (2)

  • 三項演算子を使うべき理由

    三項演算子を使うべきでないとする規約や現場って、結構多い。 それに対する「使う」派の主張もたまに見かけるが、「控えめに使うなら許されるべき」なんて消極派だったり、「三項演算子すら理解できない奴はクズ」なんて議論拒絶派だったり、或いは「三項演算子の方が格好良くて好き」的な頭脳労働苦手派であったりする。 自分は使用肯定派だけど、なるべく合理的に三項演算子について考えてみたい。日曜なのに暇だしな。 最初にまず、「if 文ではなく三項演算子を使うべき」状況を考えて、その後で、良くある三項演算子否定論への異議を述べてみる。(言語は C# とか Javaを想定) ■■ if 文を避けて三項演算子を使うべき理由 ★ 変数の宣言と定義を同時にできる 一時変数への値の設定について、宣言と同時なのと宣言から離れているのとで、どちらが良いコードかという問題だが、後者の「離れて」が正解なんて言う人は聞いたことが無

    kiyo_hiko
    kiyo_hiko 2011/11/11
    同意。条件演算子がミスやバグを招くて言う人は間違い。if文と違ってelse漏れは絶対ないし、静的型言語では多くの型エラーをコンパイル時に捕捉できるから、勝手に堅牢になる。「三項演算子が嫌いだから禁止」←多そう
  • 関数の途中でreturnはしてはいけない? - 関数から値をreturnで戻すとき、#include<iostream>... - Yahoo!知恵袋

    関数の途中でreturnはしてはいけない? 関数から値をreturnで戻すとき、 #include <iostream> #include <iomanip> int isSosuu( int n ){ if( n <= 1 ) return 0; for( int i = 2; i < n; ++i ){ if( ! ( n % i ) ) return 0; } return 1; } int main(){ for( int n = 1; n < 20; ++n ){ std::cout << std::setw(2) << n << "は素数" << ( isSosuu( n ) ? "である" : "ではない" ) << std::endl; } return 0; } というように、関数の途中でreturnで値を返すことがあるのですが、 先日先輩から「途中でreturnをつける

    関数の途中でreturnはしてはいけない? - 関数から値をreturnで戻すとき、#include<iostream>... - Yahoo!知恵袋
    kiyo_hiko
    kiyo_hiko 2011/11/08
    あーそんな事言ってる人たちいるね。Notepad++でコード書いてて気づいたけど、return選択するとマッチする部分が全部強調されるからすごく見つけやすい(Eclipseも確かそんな動作)。その意味でもガードはBANBAN書いたほうが楽。
  • 1