LoginSignup
3
0

More than 1 year has passed since last update.

【完全自分用メモ】コードレビューを依頼する前に見直した方が良いポイント(Java編)

Last updated at Posted at 2023-01-23

この記事の目的

完全に自分用です。
Javaで実装したプログラムのコードレビューで指摘されたことがあるポイントをまとめて、定期的に見返すことで再指摘されないように気を付ける!(新たな指摘があるごとに増やすかも)

String.equalsメソッドで比較するとき

定数と比較する場合は定数に対してequalsメソッドを実行するようにする。
定数の中身は明示されていると思うので、ヌルポで落ちるなどが減る。
定数.equals(変数)

単純に文字列結合をする

単純に文字列結合をする場合はStringBufferではなく、StringBuilderを使用する。
↓の記事が参考になる
https://qiita.com/gksdyd88/items/d3873600829337bebedd

区切り文字で文字列を結合する

以下のいずれかかを使用することで実現可能。
目的や環境によりどれかを使用するかは考える。

  • StringJoiner ※Java8から使用可
  • String.join() ※Java8から使用可
  • StringUtils.join() ※Apache Commons Langライブラリが必要

Listの宣言①

右辺の型は宣言不要です。
ここを削ることで多少なりとも調査時のGREPで無駄にヒットする箇所が減少することが見込める。
List<String> hoge= new ArrayList<>();

Listの宣言②

リスト宣言時にコンストラクタで容量を指定する。
addする際に要素数がcapacityを超えるとcapacityを1.5倍してバッファの割り当てが行われるため、予め要素数がわかっている場合は容量の指定を行う。
List<String> hoge = new ArrayList<>(fuga.size());
https://docs.oracle.com/javase/jp/8/docs/api/java/util/ArrayList.html

フォーマッタやcheckstyleを適用する

見出し通り。意外と忘れがち。

マジックナンバーを作っていないか?

コード中にマジックナンバーを作ってしまうと他の人が見たときや自分自身で見返した際にも「この数字 is 何?」となるので定数化を行う。
↓こんなコードは書かない。
hogeLogic.getFuga(id, 10);

javadocコメントを書く

以下にはjavadocコメントを書くようにする。
特にメソッドと定数は何をする(表す)かがフォーカスするだけでわかるようになるの非常に便利。

  • クラス
  • メソッド
  • 定数
3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0