2025-01-02

プログラミング作法 第1章 スタイルを読んだ

技術書
  • 名前
    • 統一する
    • 関数名は能動的な動詞が基本
  • 式と文
    • カッコを使ってあいまいさ回避
    • 複雑な式は分割する
    • 明快に書く(明快なコードほど短くなるのが普通だが、長くなるケースもある)
    • 副作用に注意する
  • 一貫性と慣用句(イディオム)
    • 慣用句とは、よくあるコードを書くときに経験豊富なプログラマが使用する慣習的な書き方のこと
    • 慣用句によって一貫性を確保する
  • 関数マクロ
    • マシンが低速だった時代、マクロには関数呼び出しのオーバーヘッドが存在しないため、性能面で関数よりマクロを使用することがあった
    • 現代では関数マクロはなるべく使わないようにする
      • 多重評価によりコンパイル後のプログラムが大きくなってしまう
      • マクロの原理はあくまでもテキスト置換
      • マクロはコンパイル時に展開され、コード生成に使用されるメタプログラミングの一種
  • マジックナンバー
    • 名前をつける
      • 0と1以外の数値は大抵の場合マジックナンバー
    • 定数として定義する
    • 整数ではなく文字定数を使う
    • オブジェクトサイズは言語に計算させる
      • 配列の型を変えた際の変更箇所が1つ減らせる
  • コメント
    • 当たり前のことは書くな
    • 関数とグローバルデータにコメントを残す
    • コードよりコメントに比重が置かれている場合おそらくコードを修正する必要がある
    • コードと矛盾させるな
    • 明快に書き、混乱させるな
  • なぜ手間をかけるのか
    • きちんと書かれているコードは読みやすく、理解しやすく、間違いも少なく、コードも小さく可能性が高い
    • 良いスタイルは習慣の問題