プログラムを書く上で留意したいことを記載する。
高速化も合わせて、
参考にしたい。
保守性を高める
コード変更のコストを小さくする
- 冗長性を避ける
- 定数はなるべく変数に格納する
- モジュールの結合度は小さくし、依存関係を排除。共通部分はなるべく括りだす。
- グローバルデータを避け、変数のスコープは極力小さくする。
- 変数名を汎用的なものにしすぎて、同一スコープ内の変数名の定義をしづらくしないようにする。
可読性の向上
- プログラム設計に統一性を持たせる
- 例1:モジュールの分割単位を均一にする。
- 例2:実装の仕方を均一にする。
- 例3:If文、Else If文の粒度は均一にする。
- 見やすさを確保する
- 例1:インデントや改行をつける。その際にタブとスペースをごっちゃにしない。
- 例2:必要以上にfor文やwhile文の階層を深くしない。
- 例3:関数等は行数をあまり長くしすぎないこと。
- プログラム構造をシンプルかつ明瞭にする
- 例1:1つの関数や変数に複数の意味を持たせないこと。
- 例2:論理式が複雑になりすぎないようにする。否定の否定のような形にならないように注意する。
- プログラムの実装意図を他人に伝わるようにする
- 例1:実装者だけが分かる暗黙のルールを作らない。
(数値に意味が含まれるような場合は数値に分かりやすい変数名をつけてあげる等で対処する)
- 例2:コメントを十分且つ正しい内容にする。
基本はコードを見れば分かるようにし、コメントは背景等補足情報を記載するようにする。
- 例3:変数名や関数名等は命名規則に従い、分かりやすい名前にする。
- 例4:(言語による)If文は1行の時に括弧を省略できるが、囲っている範囲を明確にしたい場合には括弧で囲う。
- 例5:GOTO文は特殊な場合(エラーハンドリング、深いループから抜ける等)を除き使用しない。
その他
- コーディング規約を守る。
- 設定等が細かく引数が多くなる場合には配列{A,B,C,D,E}や構造体を渡すことも考える。
- リファクタリングを定期的に行い見やすいプログラム構成にする。
- エラーハンドリングにルールを持たせる。
- 入力は色々変な値があるものと考え、コーディングする。
- リソースの解放を忘れないこと。
- cron等のデーモンプロセスを走らせ、定期的にバックアップを取る
- 例外時の処理の流れについてもきちんと検討する。
- 完全に使い捨ての定数は変数に格納させないのも有効(ただし、定数の内容から意味合いが分かない場合は変数に置いても良い。)
最終更新:2024年12月22日 15:12