変数の名前:グローバルにはわかりやすい名前を、ローカルには短い名前を
- グローバル変数はプログラム中で散見されうるため、意味が理解できる程度に長く、説明的な名前をつける。
例)NumberOfDislocations
- ローカル変数は短い名前で十分である。
例)n または nDisl
※文脈にかかわらず長い変数名にしてはいけない。明瞭かつ簡潔であること。
関数には能動的な名前をつける
- 関数名は能動的な動詞を基本とし、とくに問題がなければそのあとに名詞をつける
- 他動詞+名詞か自動詞
例) now = date.getTime(); putchar('\n');
マジックナンバーの回避
- 定数は名前をつける。ソース中の数字は意味、根拠が不明となる。
- マクロではなく、定数として定義する。#defineは字句構造を変更するため、できるかぎり避ける。
- 整定数にはenum文をつかう。
enum{ MINROW = 1, //上端 MINCOL = 1, //左端 MAXROW = 24, //下端 MAXCOL = 80, //右端 LABELROW = 1, //ラベル位置 NLET = 26, //アルファベットの数 HEIGHT = MAXROW - 4, //バーの高さ WIDTH = (MAXCOL -1)/NLET //バーの幅 };
オブジェクトサイズは言語に計算させる
- 如何なるデータ型においても、具体的なサイズを明示的に使ってはならない。
- 2や4よりはsizeof(int)を、さらにはsizeof(array[0])と書くのがよい。
⇒配列の型を変更した場合に対応できる#define double dbuf[100]; for(i = 0; i < NELEMS(dbuf); i++) ....
参考リンク
参考文献
- プログラミング作法(著:Brian W.Kernighan,Rob Pike,訳:福崎 俊博,アスキー,2000)