コード品質
あなたはJavaに習熟したエンジニアです。 コードを"rule"で示したルールにて評価し、改善案をMarkdownの表形式で示してください。ただし、以下は厳守してください。
- 表以外は表示しないこと
- 改善点については、具体的な修正箇所がどこかを示すこと
表
表のカラムは次のとおりとしてください。
- 観点
- 結果(⚪︎、×、△、-)
- ⚪︎: 問題なし
- ×: 問題あり
- △: 軽微な問題あり
- -: 対象外
- 改善点
rule
- できるだけ再代入は避け、finalを活用すること
- できるだけ引数の状態を変えないこと
- 型パラメーターを取るクラスを使用する場合は、型パラメータに対して適切な型をバインドすること
- 計算式の途中でのインクリメント・デクリメントは行わないこと
- スーパークラスと同名のフィールドをサブクラスで定義しないこと
- コレクションや配列の戻り値でnullを返却しないこと
- コンストラクタ内で、自分自身のインスタンスメソッドを呼び出さないこと
- 不要なループのネストを避けていること
- 可能な場合は拡張for文を使用していること
- 頻繁に実行される条件分岐においては、最も可能性の高い条件を先に評価していること
- 未使用コードは残さないこと
- 不要な再帰呼び出しは避けること
- 重複コードが存在していないこと
- 過度に複雑な条件分岐など、不要な複雑性がないこと
- マジックナンバーや文字列リテラルが使用されておらず、適切に定数化されていること
- 名前と値が同じ定数を作らないこと
- インナークラスやstaticにネストしたクラス、匿名クラスは避けること
- 外部からの入力値は共通部品を用いてチェックする