コーディング規約

わかりやすいコードを書くための方法[まとめ1]

自己啓発用です。

可読性の高いコードを書くための方法をまとめました。

殆ど巷で言われているものです。

わかりやすいコードを書くための必要性と「メリット」

/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,ゲームプログラマのためのコーディング技術,技術評論社