目次
0. Introduction
- 対象となる読者
- ソフトウェア・コーディングを任されている方
- 本記事の価値
- ソフトウェア・コーディング時に、チェックしなければいけないことを確認できます。
- 前提
- 特になし
1. ソフトウェア・コーディングとは
プログラミング言語を用いてプログラムのソースコードを記述する作業のことです。 コーディングは、ソフトウェアの仕様をプログラムで実現するプログラミング作業の中でも、特にプログラム設計を行い導き出されたアルゴリズムをプログラム言語を用いて符号化(code)する作業のことを指します。
2. コーディング規約とは
コーディング規約とは、エンジニアやプログラマーが複数人で同一のタスクやプロジェクトを行う際に、ソースコードについて定めたルールのことです。 プログラムがどのように作られるべきかを示し、品質を保つために作成されます。 規約といっても、実際の内容は、タスクやプロジェクトを行うチームによって異なります。 例えば、google もいろいろなコーディング規約をGoogle Code で公開しています。C++、Python、Objective-C、JavaScript などなどのコーディング規約があります。
3. コーディング時のチェックリスト
- コーディング規約を遵守しているか
- 変数名を規約に従って付けているか
- 変数名から意味を特定できるか
- インデントは適切か
- すべての変数・定数を初期化しているか
- コメントは正確・有意義か
- コメントの日時・記入者を漏れなく記述しているか
- プログラムの修正箇所について修正日時・修正者・理由を記述しているか
- 使用するメモリ・ネットワークの容量を考慮しているか
- ネスティングを最小化しているか
- 使用するデータ構造の大きさと複雑さを最小限に抑えているか
- モジュール内インターフェースとその引数は適切か
- すべての条件分岐に"その他の場合"を含んでいるか
- マジックナンバーを使用していないか
- “推奨されないクラス"等を考慮したか
- メモリリークを考慮したか
- 保守が容易なコードか
- 再利用が容易なコードか
- 単体テストのポイントは明確か
参考文献
- 「なぜ、システム開発は必ずモメるのか?49 のトラブルから学ぶプロジェクト管理術」 細川義洋著,日本実業出版社
- 「実践的ソフトウェア工学 第 2 版」, 浅井治著, 近代科学社