自己啓発用です。
可読性の高いコードを書くための方法をまとめました。
殆ど巷で言われているものです。
わかりやすいコードを書くための必要性と「メリット」
/Code Should be Easy to Understand/
-分かりやすいコードをかくことでプロダクトの保守性が高くなる。
->変更が容易、テストも容易、作業時間が縮小される。→仕事が早く終わる
分かりやすいコードを書くということは、簡単そうに見えるが
->上級者でないと割と難しい。しかし可読性の高いコーディング方法を先に習得していれば、徐々に体が覚える。
->他者(または未来の自分)が読んだときに理解に要する時間を最小限になるように努める。
@example
どちらかが読みやすいか
for(Node node = head; node != NULL ; node = node.next())
{
system.out.println ("読む時間");
}
Node node = head;
if (node == NULL) return;
while (node.next() != NULL) {
system.out.println("読む時間");
node = node.next();
}
短いコードのほうが基本は見やすい。ただし、短いだけがいつも正義とは限らない。
<基本的な原則>
変数・関数名 良い名前を付けて整理する。
関数 複雑なものは、小さく分割する。
良い名前=意味がわかりやすい。
意味が分からない名前は原則使わない。
たとえば
int d
変数d では意味が伝わりません。
int distance
とすることで距離を入れる変数であることが分かります。
さらに
int movingDistance
とすることで、移動距離と使用用途が明確になります。
ただし配列の添字や関数内のローカル変数には、i,j,kなどの短い名前をつけます。
<<マジックナンバー>>
書いた本人しか知りえない。意味を持った数字です。
if(Action == 1)
{
do('パンチ');
}
if(Action == 2)
{
do('キック');
}
たとえば、Actionという定数があったとして、定数をみたときに
意味はわかるものの、それぞれの数字がなにをするのかはコードを追わないと把握できません。
このような場合、列挙型を使うことで明確になります。
参考文献
Dustin Boswell,Trevor Foucher,2011,The Art of Readable Code,O'Reilly Media
大圖 衛玄,2015,ゲームプログラマのためのコーディング技術,技術評論社