クリーンコード(Clean Code)とは
クリーンコード(Clean Code)とは、容易に理解することが出来て、容易に変更することができるコードです。
クリーンコードの重要性
クリーンコードを書くことで、他の人がコードを理解しやすくなります。また、自分自身が過去に書いたコードも、後から見返した場合も理解しやすくなります。
クリーンコードの書き方
クリーンコードを書くためには、以下の点に注意すべきです。
- 変数名
- 関数名
- わかりやすい構文
これら3つの点を意識することで、どんな言語で書かれたコードでも、ドキュメントなどを確認する必要なく容易に理解することができます。
例えば、こちらは、javascriptで書かれたコードの一部です。この関数がどのような関数であるか、すぐにわかるでしょうか?
1 2 3 4 5 6 7 8 |
function h(v) { if (v === 3) { return true; } else { return false; } } |
一方、こちらは、クリーンコードを意識した上記と同じ内容のコードです。
1 2 3 4 5 |
function isParameterEqualsToTree(parameter) { return parameter === 3 ? true : false; } |
どちらが、理解しやすいかは一目瞭然です。後者は、関数名から 引数 = 3であることを判定する関数であることがわかります。また、前者とは違い、if文を使用することなく、簡潔に記述されているのがわかります。
コードを書くことは、本を書くことと似ているとも言えます。本の著者は、読み手に本の内容を理解してもらう必要があります。コードの作成者も同じようにコードの読み手に内容を理解してもらう必要があります。
※ 変数名が、多くのディスクやメモリーを使用してしまうことはありません。よって、変数名がソフトウェアの動作を遅くしてしまうこともありません。心配することなく適切な変数名を使用しましょう。
Tips
-
関数名は既存の関数名を参考にしましょう。
作成したい関数は、既に他の言語やライブラリに存在することがあります。Googleで検索するなどして調べてみましょう。 例えば、平均値を求める関数を作成したい場合、Excelなどの一般的なアプリケーションでは、どんな関数名が使用されているかを調べることができます。おそらく、Average, Avg, CalculateAverageなどでしょう。 -
1年以内にコードを変更することになると想定して、コードを書いてみてください。
-
無駄なコメントは書かないようにしましょう。
無駄なコメントは、読み手の邪魔になり、結果的に、読み手にコメントを無視させることとなります。例) 無駄なコメントが多いコード
1 2 3 4 5 6 |
// this function returns true if the parameter of the function is a 3. It will also return a false if the parameter of the function is a number diferent than 3. function isParameterEqualsToTree(parameter) { // this is the part of the code that returns the number. return parameter === 3 ? true : false; } |
演習
以下は、三角形の周の長さを求めるpythonプログラムです。実行すると、各辺の長さ 3,4,5 からなる三角形の周の長さが計算されて、12を出力します。
1 2 3 4 5 6 7 8 9 |
def c(a:int, b:int, c:int) -> int: perimeter = a + b + c return perimeter def main(): print(c(3, 4, 5)) if __name__ == '__main__': main() |
下記を考慮して、コードを更新してください。また、追加すべき機能がありましたら、追加してください。
- 将来的に三角形以外の図形(例. 四角形)の周の長さを求めるコードを容易に追加できるようにコードを設計してください。
- クリーンコードを意識してください。
- コードを書くときに、コードを明確に説明できるように意識してみてください。
参考: