パスワードを忘れた? アカウント作成

Twitterで「三項演算子」がトレンド入り」記事へのコメント

  • 発端? (スコア:3, 参考になる)

    by Anonymous Coward

    きっかけはこのおもしろい(オブラートに包んだ表現)ツイートではないかな

    https://twitter.com/fnya/status/1192036095820615680 [twitter.com]

    • by Anonymous Coward

      return (条件)? true : false; なんて書くくらいなら return 条件; だよなあ
      そりゃレビューで落とすでしょ感

      • by Anonymous Coward

        return ok ? true : false;
        なら俺でも怒るが
        return b*b-4*a*c >= 0 ? true : false;
        なら怒らない

        • by Anonymous Coward on 2019年11月08日 19時21分 (#3713080)

          この手の三項演算子結果をboolにしたくなるケースの本質は型が分かりにくいという点にあるのではと最近は思っている
          自分ならばこうするかな
          int d = b*b-4*a*c;
          return d >= 0;

          式の中で型が変化しまくる場合、型が変わるタイミングで変数に入れてから、新しい式を作っていけば見通しが良くなるのではと思っている。

          • by Anonymous Coward

            この例は二次方程式の判別式だからd)iscriminantだとわかるが、プログラム固有の境界条件であれば名前を考える必要があり、定義中の関数名と似たようになるか、さぼってaとかxとかつけて可読性を落とすのが常の住処
            人間五十年、境界条件は「…なら真(、それ以外は偽)」と覚えるし、日本語でも英語でもそう読み書きするものだ
            だからプログラムでもそうして悪い理由はない

          • by Anonymous Coward

            それで良いなら普通に return (b*b-4*a*c >= 0); とする方が
            評価式を返してるのがより明らかに思えるけどなあ。

            • by Anonymous Coward

              自分が書くのにどちらがよいかではなく、他人が書いたのに怒るかどうか、許容できるかどうかの話をしているのです
              プログラマーは論理思考ができないのか

              • by Anonymous Coward

                「怒る」「許容できる」なんて主観的な基準を論じてるんだから「自分が書くのにどちらがよいか」の話だろ
                お前の論理思考では何がどう違うんだ

              • by Anonymous Coward

                これはコードレビューの話だから、怒るとか許容できないというのは自分一人だけの問題ではなく、チームの総意である
                「おまえはこんな書き方はやめろ」と禁止するなら、禁止する理由が必要だ
                和ゴミを嫌っていても、禁止する理由がなければ禁止できないのと同じだ

                俺の書き込みはそのチームの一員と仮定してだした意見であり、個人的に好む書き方とは限らない

アレゲは一日にしてならず -- アレゲ研究家

処理中...