トップページ > プログラム > 2018年10月08日 > QRotEnod

書き込み順位&時間帯一覧

12 位/207 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000021005000000000008



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド181★★

書き込みレス一覧

★★Java質問・相談スレッド181★★
775 :デフォルトの名無しさん[]:2018/10/08(月) 08:33:34.55 ID:QRotEnod
読めるようになれってことじゃないの?
>&&||の右側にインクリメント演算子書いたから場合によって評価されない
例えばこれは、
if(a != null && a.get()>1)
こんな行があった時に2つ目の演算でNPE起きない事が保証されると分かれ、ということだろう
書くな、じゃないよ。こんなコードたくさんあるし、こう書かないと冗長になる
★★Java質問・相談スレッド181★★
777 :デフォルトの名無しさん[]:2018/10/08(月) 08:58:46.13 ID:QRotEnod
まあそれは簡単に言うと
開発時のソースコードはデバッグ出力の行があったりするんだけど
リリース時はデバッグ出力の行を文字列置換で一掃したりする。で、もし
if(...)
debugLog(...);

こういう行があったとして、debugLog(...);を置換で削除したら、エラーになる。
if(...){
debugLog(...);
}
これは置換しても大丈夫。

だから、括弧無しは処理部分を置換する事があるか、による
経験上置換するのはデバッグ系コードだけ
★★Java質問・相談スレッド181★★
780 :デフォルトの名無しさん[]:2018/10/08(月) 09:55:23.16 ID:QRotEnod
>>779
それは気付いてなかったw

じゃあ括弧無しのデメリットは特に思いつかない
★★Java質問・相談スレッド181★★
783 :デフォルトの名無しさん[]:2018/10/08(月) 12:02:59.41 ID:QRotEnod
副作用があるかもしれないから、という理由なら条件分岐関係無くない?
if(a == null)
return;
if(a.get()<=1)
return;
これでget()呼ぶのも副作用あるかもしれないよね?
★★Java質問・相談スレッド181★★
785 :デフォルトの名無しさん[]:2018/10/08(月) 12:26:37.42 ID:QRotEnod
ん?こういう理解だけど。参照が渡されてるだけだから
別スレッドが参照を破棄しても関係ないぞ

func1(Object a){
if(a == null)
return;
a.get();//絶対にNPEが起きないマルチスレッド無関係
}
func2(Object a){
a = null;
}
★★Java質問・相談スレッド181★★
787 :デフォルトの名無しさん[]:2018/10/08(月) 12:32:49.91 ID:QRotEnod
でも副作用がある関数はset,write,update,createとか大体それっぽい名前ついてるし
分かるでしょ?
というか情報処理はCRUDだからcreate,update,delete的な名前が必ずついてる

副作用を広くとらえればログ出力も副作用だけど、そういうのは問題無い
getは副作用無しか問題無い副作用のみ、CRUDのRに相当するものだから

だからコーディング規約を作るなら、CRUDを意識させるようなものであるべきで、
真理式でメソッドを呼び出すなとかいうわけわからん規約を作るべきではない
CRUDのうちRのみ呼び出していい、とすべき
★★Java質問・相談スレッド181★★
788 :デフォルトの名無しさん[]:2018/10/08(月) 12:37:02.60 ID:QRotEnod
ぶっちゃけCUDでも呼び出していい
結局、意味を捉えて間違えないように書けということでしかない
コーディング規約をどういじくってもそこから逃げれるわけじゃない
★★Java質問・相談スレッド181★★
790 :デフォルトの名無しさん[]:2018/10/08(月) 12:48:22.90 ID:QRotEnod
真理式に複数の演算があって、かつ一部に副作用があるとまずい、ってことか


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。