- - PR -
構文がわかりません
«前のページへ
1|2|3|4
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-13 12:49
なかなかスマートでいいですね ![]() 個人的なコードに使わせてもらっていいですか? ただ、仕事でメンテナンスする立場で見た場合はちょっと好ましくないです。 パッと見て何をやりたいのか分からないのと、書いた人がnullの時などを考慮してそう書いたのかたまたまうまく行っているのか分からないです。 メンテナンスする側としては、if文や三項演算子などの慣用的表現を使ってもらったほうが、ソースを追うときの流れを中断されなくて嬉しいですね。 | ||||||||||||||||
|
投稿日時: 2005-10-13 13:04
だからこそ、三項演算子は副作用が伴う式で用いてはならないとされていますよね。 2 つ以上の意味を持っている可能性がある式では利用してはいけないみたいです。 あ、某書籍に受け売りですけどねw ついでにリンクです。 私も次の行に書いたりすることがあります。 http://hp.vector.co.jp/authors/VA010341/conditional.html _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2005-10-13 14:18
そうですか ? equals() はよく知られた、見たまんまの等値比較ですし、equals(null) が false を返すことは保証されています(そうでない equals() のオーバーライドはするべきではない、とも Effective Java などで言われていますね)から、まぐれでもこの書き方は簡潔でわかりやすいですよ。 String型で "constant string".equals(stringObject) とか書きません ? # Boolean.TRUE.equals() まで思い至らなかった自分が情けない... | ||||||||||||||||
|
投稿日時: 2005-10-13 15:54
その通りなんですが、そこまで頭を働かせなければならないってことでもありますし、コードをいじる人がみんなそういった知識を持ち合わせているわけではないです。 それに、書いた人がそれを知っていて意図的にそう書いているのか、それともnullを考慮し忘れてたけどたまたま結果的にうまく行っているのか分からないのは痛いです。 影響範囲が狭いメソッドなら大した問題じゃないですが、共通部品的なメソッドがnullのときの挙動が不明確だと、呼び出している部分すべて調べ上げないとならないのでそれがまた大変なんです。
その書き方は便利なんですが、「等比較時に定数を左に書くのは美しくない教」の信者なのでやりません ![]() # 信仰上の問題なので、あまりつっこまないでくださいm(__)m
同じく……orz | ||||||||||||||||
|
投稿日時: 2005-10-13 16:40
この部分前回も書いておられましたね。誤解していたようです。すみません。 確かに「本当にわかって書いてるの ?」と思ってしまうことはありますね。 # 今回はその前の部分のコードがアレなだけに...。 # 雑談じみてくるのでこのへんで。 |
«前のページへ
1|2|3|4