プログラミングの自戒
以下に、自分がプログラミングをするときに気をつけるべき項目をメモしておく。
ちょう基本
- コメントをつける
- インデントをつける
- 警告レベルを下げず、コードを直す
- マクロを使わない
オブジェクト指向
- 抽象化しすぎない。コードの意味がわかるようにする。
- 「Is-A」と言えるものは継承、「Has-A」と言えるものはインスタンス変数とする。
- 変数をクラスにカプセル化しすぎない。
- データ構造の階層がAPIの階層は違う時にカプセル化してはいけない。
- データ構造の設計は最も慎重に行うべし。APIの設計はその次でいい。
変数
- 意味のある変数名
- 変数を別の用途に使わない
- できるだけ抽象的な変数を作らない
- できるだけ変数名を省略しすぎない
- 変数名を大文字小文字などで区別しない
- 変数名をnew/oldで区別しない
- グローバルな変数ほど長い名前をつける
- 初期化しよう
関数
- 意味のある関数名
- 関数を別の用途に使わない
- できるだけ抽象的な関数を作らない(引数型の抽象化は良い)
- できるだけ関数名を省略しない
- 関数名を大文字小文字などで区別しない
- 関数名をnew/old/exなどで区別しない
- グローバルな関数ほど長い名前をつける
- グローバル関数は作らない(せめて無名名前空間に入れる)
- 関数マクロを用いない(コードデバッグができない)
C++
- なるべくconstにする
- 継承されない親クラスをvirtualにしない
- 継承される親クラスをvirtualにする