パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

いいコーディング規約、悪いコーディング規約?」記事へのコメント

  • by Anonymous Coward on 2008年07月22日 23時44分 (#1388631)
    今時? …と思われるかもしれませんが、だらだら長い式を抑止できるのは、未来の自分に優しいです。
    必然的に途中経過を代入する変数が増えるので、命名のために途中式の意味を考える効果もあります。
    • 概ね同意なのですが、やはり80はキツイものを感じます。
      130前後で手を打ちたいのですが、80以外の数字に
      通りのよい根拠が流通していないせいもあって、なかなか規約
      として表明しにくいところなんですよね。

      #ちなみに言語はJava
      ##細かい整形規約は、Eclipseのフォーマット機能とorganize-import機能に任せる方向で。
      親コメント
    • by Anonymous Coward
      >必然的に途中経過を代入する変数が増えるので、命名のために途中式の意味を考える効果もあります。

      私はこれは(必ずとは言わないが多くの場合に)反対だな。
      というのは、わざわざ名前を考えて他とUNIQな名前をつけるコストが馬鹿にならないからだ。

      hoge = a.b().c().d().e().f()

      というメソッドチェインを、いちいちバラしてたら、日が暮れると思う。
      名前をつける必要があるのはhogeだけ。これでいいんじゃないかな?

      ある意味で非DRYだとも思う。

      「途中式の意味」はむしろメソッド名に現れるんじゃないですかね。
      だから自作メソッドならば(RubyならOpenClassも含める)、その命名の如何が問われるぞと。

      あと、それで足りなければコメントでもいいや。
      hoge = a
      .b() // xxx
      .c() // yyy
      • by Anonymous Coward
        名前を付けたり読んだりするコストは予想外に大きいよね。

        適切な名前を付けるべし、という有効だと広く信じられているルールは、
        適切な名前が思いつかない場合には名前を付けるべきではない、
        あるいは、適切な名前が付けられるのなら式をぶった切ってでも付ける、
        と拡張できるし、自分の場合はおおむね良い結果をもたらしているようです。

        ところで、CとかJavaで複雑なリテラルが書きたいときはパーサー使ったりしませんか。
        list *l = p("(a b (c d) e)");
        みたいな

身近な人の偉大さは半減する -- あるアレゲ人

処理中...