プログラムを書いていると絶対的について回るのが「バグ」です。

プログラマはプログラムを書いている時にバグがないように注意して書いているのですが、それでもバグはどうしても発生してしまいます。もし、バグのないプログラムを書くことができればプログラム完成後のチェック作業が不要もしくは最小限で済むため、開発工数は愕然に少なくなることでしょう。

けど、人間が行っている以上、ミスは付きものです。神様でもない限り、バグのないプログラムを書くことはおそらく無理ではないでしょうか?

そんなバグのないプログラムを書くことができる10個の方法というのが紹介されていましたので下記に明記します。

紹介する方法はC言語で書いた場合の方法なのですが、他言語でも参考になる部分はあるかと思います。

下記はその10個の方法の概要だけを書きましたので詳細についてはリンク先を参照ください。

  1. 制御構造( if や for など)の中括弧( { } など)を必ず書く
  2. 変数で変更することがない、変更しないようにする場合const修飾子(定数)を使用する
  3. モジュールの外に公開する必要がない場合はstaticで宣言する
  4. 次の場合はvolatile修飾子を使用する
    • 割り込み処理からアクセスされるグローバル変数を宣言するとき。
    • 2つ以上のタスクからアクセスされるグローバル変数を宣言するとき。
    • メモリー・マップトI/O方式を採る周辺機器のレジスタ・セットにアクセスするためのポインタ変数を宣言するとき。
  5. コメントをネストさせない
  6. 整数値の型が問題になるときは、固定長データ型を利用する
  7. ビット演算子を、符号付き整数値に適用しない
  8. 符号付き整数と符号なし整数を組み合わせたり、比較したりしてはいけない
  9. インライン関数を利用して記述できる内容ならば、パラメータ付きマクロを使わない
  10. 変数を宣言するときに、「,(コンマ)」を使わない

これだけでバグが0になるとは思えませんが、この方法に従うことは間違いではないと思います。これを参考にしてオリジナルのコーティング規約を作ってみてはいかがでしょう。

バグを生まないコーディング法、10個の規則でソフト開発を効率化 ― EE Times Japan

組込み現場の「C」プログラミング 標準コーディングガイドライン
福岡知的クラスタ(第1期)組込みソフト開発プロジェクト
技術評論社
売り上げランキング: 5165