自分用のコーディングルール(整理中)

  • セキュリティコードレビューのしやすいコード
  • 戻り値は、呼び出し側&プログラマとのコミュニケーションでもある
    • 例:Cスタイルの int func() で 0 か -1, 1 を返すべきか?
      • 呼び出す側が判断したいことを基準にすべき
        • isXXXX は true/false
        • doXXXX はエラーチェックをすることが多いので、エラーの時に non-zero
  • 条件式では==と=を勘違いしていないかチェックする *1
  • 宣言したポインタは必ず初期化する *2
  • assert() は開発中に設計上予期していなかったことやバグを早期発見を促す手段として活用する *3
  • 数字のハードコーディングをせず、定数マクロまたは const int を使う ((変更が容易になるだけでなく、抽象化によって、決めつけの設\\

計からあらゆる場合を考えるようになる意識の変化も無視できない))

デバッグしやすいコードにするために

  • assert ( ("string", expression) ) とすると assert 時に条件式だけでなくメッセージがだせる

*1:if (0 == var) は好きではないが

*2:自動変数全て対象にしてもよい

*3:逆に手段に過ぎず、解決策ではない