私がきれいで読みやすいコードを書くために、個人的に意識していることです。
1. 1つのメソッドを50行以内に収める
1画面で表示できる50行以内を目標にしています。
2. 同じ処理をメソッドにする
例え1行で書ける処理だとしても、同じ処理はメソッドにします。
1行なら全部書けばいいじゃん、と思いがちですが、ちりつもですし、万が一修正が発生した場合など、1か所を修正すればいいありがたさが分かります。
3. if文、for文の中身をメソッドにする
これについては、必ずではないですが。
1.の50行以内に収める、を達成するために、どこかしらの処理をメソッドにする場合、まずif文、for文の中身を別メソッドにすることを考えます。
4. 引数に副作用を与えるメソッドは避ける
これは過去にコードレビューで指摘されたことがあり。
Listを引数で渡してメソッド内でListに追加したり、インスタンスを引数で渡してメソッド内で値をセットするようなことは極力しないようにしています。
引数の値は参照するだけ!
基本的には、追加・セットする値単位にメソッドを用意して、返却されたものをセットする以下のような形にしています。
ClassSample data = new ClassSample();
data.setHoge(getHoge(foo, bar));
もしくは、以下のようにList、インスタンスの作成単位をメソッドにしています。
List<String> list = getList(hoge);
(どうしても、メソッド内で追加・セットしたい場合(同じ処理の場合など)は、セット専用のメソッドにしています。)
5. コメントを書く
特にメソッド呼び出しのところには必ずコメントを書きます。
何をしているメソッドなのか、書かないと中身を参照しないと分からなくなってしまうので。
あとは、if文、for文のところにも必ずコメントを書きます。
コードを読むより、コメントを読む方が早いと思われる場所には、コメントを書くようにしています。
6. その他
- 変数名・関数名をわかりやすくする
- プロジェクトのコーディング規約を読む
さいごに
私がきれいで読みやすいコードを書くために意識していることに、難しいことはありません。
ですが、意識していないころより、見返したときに読みやすくなりました。
自分で読みやすくなったということは、たぶん他の人から見ても読みやすくなったかと思うので、今後もさらに精進してきれいで読みやすいコードを目指していきたいと思います!