Mitsuyuki.Shiibaスマートフォン用の表示で見るMitsuyuki.Shiiba2017-10-21僕がJavaのWebアプリのコードレビューをするときって何を気にしてるっけなぁ?Javaコードレビューをするときには、フォーマットや慣例的な書き方とか、名前ちゃんとした方が良いよとか、処理にも名前をつけようねとか、そういうことは伝えるんだけど。それよりももっと気にするのは、「ここで見つけておかなきゃいけない」ってことだなぁってふと思ったのだった。Manager)が受け入れテストとして見てくれたり、QAと呼ばれるテストのチームがやってくれたりもする。そこまで気にしてない。気にするのは、エンジニアがソースを読むことでしか見つけづらいバグ。特定の条件が重なったときにだけ発生するようなやつとかそういうの。10msのタイミングで発生するとか、12/31の0時にだけ発生するとか、エラーが発生したときにだけ発現するとか、今は大丈夫だけど2年後ぐらいに発火する爆弾とか。いうのって、知ってるか知らないかということも多くて、知らない人がどれだけ頑張って読んでも知らないから気づけなかったりする。自分が知ってることはできるだけ、伝えていった方がいいんだろうなって。具体的には?って、ここまで書いといて、特に何も考えてないんだけど・・・。適当に思いついた順番で文字列の比較に==使わないでねオートボクシングのぬるぽに気をつけて!intどうしを割り算してもintにしかならないんよ金額の計算にはfloatやdoubleじゃなくてBigDecimalを使うんよ。1つの処理の中で現在日時をその都度取得してたら、時間がずれるよこのデータ量だとintが1年後にあふれるかも?longでマルチスレッドあぶないんじゃないっけ?ってかマルチスレッド使うときは落ち着いて考えよう(僕がguavaのTransformはその場で作られてるわけじゃないから変更するときは気をつけてSimpleDateFormatはスレッドセーフじゃないからstaticで持たないでね。Java8のDateTimeFormatter使おう。フォーマッターのyyyyをYYYYって書くと年末に死ぬから気をつけてSpringのComponentのスコープはデフォルトでSingletonだから状態を持たないでねDBのトランザクションの分離レベルどれにしてる?とか、どこのレイヤーで開始してる?てか、開始してる?コミットせずにクローズするとロールバックされる?コミットされる?ログの内容が実際に発生したやつと違うよ?ここで例外が発生したらログを出そうとしてるけど、メッセージ作るところでぬるぽになりそう?とかとか。思いついたら適当にメモっとこっと。楽天テックカンファ2015の大阪サテライトやりま...2015-06-21プルリクエストとかでぼんやり考えた。僕もなんかトライしよっと。