Javaコードアンチパターン 初級からプロまで知っておきたいミスと回避策 第1回議事録

[ 戻る ]


Java読書会 議事録

「Javaコードアンチパターン 初級からプロまで知っておきたいミスと回避策」を読む会 第1回

実施概要


第1章:開発ツールと品質向上

1.1 静的解析ツール

1.5 ミューテーションカバレッジ

コードの境界条件を書き換えた際、テストコードがそれを検知できるか(テスト自体の品質)を測定する手法。

1.6 動的解析


第2章:式(Expressions)

2.1 数値演算子の優先順位

2.1.1 ビットシフト

2.2.1 〜 2.2.3 条件演算子(三項演算子)

2.3 加算と文字列結合の混同

2.4 複数行の文字列(テキストブロック)

2.5 単項演算子の誤用


宿題事項

項目 内容 訂正・補足
シフト演算のマスク int y = x << 32; の挙動 intの場合、下位5bit(0〜31)が使われるため、32シフトは0シフトと同じになります。longの場合は下位6bit(0〜63)が使われるため、32回シフトした結果が得られます。
文字列結合 null + null"nullnull" になる nullは文字列結合において "null" という文字列として扱われます。Java 9以降は invokedynamic による最適化が行われています。
最適化の調査 1.25倍がシフト演算に変換されるか javap -c によるクラスファイルの確認や、HotSpot VMのオプションで実行時の挙動を確認する手法があります。

以上


[ 戻る ]