会社でSoftWareDesignを定期購読しており、Javaのコーディングで気をつけることなどがあったので、ちょっとチェック。
以前も似たようなエントリーは書いたことがあったのだけど、再確認。メモ書きです。
Contents
良いコードとは
- 良いコード=保守性が高いコード
- 何を言っているのか理解しやすい
- 不具合を発見しやすい
個人的には修正に強い、バグの影響を最小限にしやすいのような意味だとも思ってます。
具体的なテクニック
変数の初期化と変数のスコープの最小化
不要な初期化をさけること。String str =””などとしない。スコープはなるべく最小限にすることと、変数の宣言、代入はなるべく近い距離で行う。
メソッドは短く(目安として20~30行に)
長いメソッドは何を言っているかがわからず、処理を理解するのに非常に労力を使う。処理の塊ごとに区切ること。目安は20~30行。
finalを検討する
変数の変更は少なければ少ないほど良い。値が変わらなければその変数をおう労力を少なくできる。finalをつけることで変更がないことを宣言できる。そうでなくても変数の変更はなるべく行わないようにすべき。
ラムダ式のすすめ
Javaのみだが、複雑な処理を簡潔に書くことができる、配列関連で有効なメソッドがあり、非常に有用。
Optional
nullがあるものに関してはOptional。そうでないものは通常の型(Stringなど)で返せば、通常の型の時にいちいちnullチェックをする必要がなくなる。OptionalのときはisPresentなどのメソッドを使えばよい。
enumを使おう
定数的な値に意味のない値(SUNDAY =1など)を避けることができ、保守性を向上させることができる。