- - PR -
Javaの稀な記述法
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-18 09:22
カブトムシ子太郎さんのおっしゃる
「初心者でもわかる書き方のほうがよいのでは?」というのも一理あると思いますが、 それでもこのくらいは知っていて欲しいとも思うのでコメントします。
自分が同じ状況でそのように書くかどうかは別にして、 loggedIn = user != null という書き方は特殊という程でもないと思います。 というかif文のよくある記述(というより比較演算子の仕様)を 正しく理解していれば、特に困らないと思います。
私もこの使い方はよくやりますね。 同じくis〜なメソッドで条件式を置き換える場合などです。
変数loggedInを後で使うのでなければ、私もifの中で直接判定すると思います。 でも、わざわざ変数に入れているくらいだから、後で使うんじゃないでしょうか。 あるいは、変数loggedInに一旦代入することでログインしているかどうかを判定していることを 明示したかったのかもしれません。 その場合は私ならメソッドにしてしまいますけどね。 | ||||||||||||||||
|
投稿日時: 2007-10-18 09:45
ご自身の書かれているとおりで主観以外の何者でもないと思います。 私も括弧は必ずつけますがこういった式を書くことがあります。(特に return で) というのも、式の順序を理解していれば難解ではないと思いますし、そもそも式の順序を意識できていないからこそわからないという事実の方が怖いです。 ただあの書き方そのものであれば私も反対ですね。 括弧は必ずつけてほしいです。 優先順位が明確になって可読性が増します。 これも慣れの問題なので主観ではありますが。 人それぞれもしくはチームそれぞれポリシなり規約なりがあって然りですから、気に入らないのであれば決めてしまえば良いと思います。 たとえば、「三項演算子」 が意味不明だという初心者がいるため三項演算子を禁止しているようなチームもあります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2007-10-19 07:10
条件式で壱番まれなのは
int x_x = ("-".equals("3")) ? -1 : 1 可読性も壱番わるい。 | ||||||||||||||||
|
投稿日時: 2007-10-20 10:11
三項演算子も列挙する時は読みやすくないですか。
a.setX1((x<0)?0:x); a.setX2((x<0)?0:x); a.setY1((y<0)?0:y); a.setY2((y<0)?0:y); // まだまだ続く。 例なので安直ですが、汎化できないようなものだったら。 前にif(null==a)がわかりにくいと言ってた人がif(a=null)と書き間違えてた。 checkstyleのようなものを使っても防げるとは思いますが。 | ||||||||||||||||
|
投稿日時: 2007-11-21 02:59
javaだとコンパイルエラーなので関係なかったですね。失礼しました。 | ||||||||||||||||
|
投稿日時: 2007-11-21 09:23
aがboolean型であればコンパイルエラーとならずにバグとなりますね ![]() | ||||||||||||||||
|
投稿日時: 2007-11-21 10:21
間違えて送信してしまっていたので、削除[ メッセージ編集済み 編集者: 末記人 編集日時 2007-11-21 13:03 ] | ||||||||||||||||
|
投稿日時: 2007-11-21 10:27
booleanにnullは代入できないですよ ![]() if(a = true) みたいな場合ですよね。 これは 単に if(a) と書けばいい話でしょう。 |