thumbnail 一問一答の一歩

可用性、保守性の高いコードにするための確認事項

基本情報技術者試験や応用情報技術者試験の勉強をしていると、品質に関わる言葉として○○性という言葉が沢山でてくる。

これはプログラマ-が作成するべき「良いコ-ド」にも関係しており、プログラマ-の視点では、特に以下のものが大切になっています。

  • ・可用性……プログラムが正常に動く時間の割合、保守性との連動が強い。
  • ・保守性……プログラムがエラーを起こした時にの直しやすさ。保守性が上がると連動して可用性も上がる。
  • ・性能……プログラムの処理時間の早さ

以下、保守性、性能の観点をプログラムに落としこむ際の確認ポイントを情報共有する。

コード作成における確認ポイント(保守性の観点)

  • ・マジックナンバーを使用していないか。
  • ・マスタ(デ-タ)で対応出来ることはマスタ(データ)で対応しているか
  • ・「データの入力+加工」と「デ―タの出力」を分けて書いているか
  • ・「まとまり」の開始と終了は対応しているか
  • ・プログラムのコメントは段落や一つのまとまり事に書かれているか。
  • ・役割が似た関数は近くに書かれているか。
  • ・関数を用いて見ずらくなる場合、関数の返り値を変数化しているか
  • ・main関数の位置は一番上、もしくは一番下に置かれているか
  • ・命名規則を無視した名前はないか

※命名規則についてはページ下部の補足説明の項を参照

コ-ド作成における確認事項(性能の観点)

  • ・無駄なコ-ドは入っていないか
  • ・while for foreachの使い分けは適切か

意味が分からない挙動をした時の対処

ここまでは保守性や性能を反映させるための工夫を描いてみたが、エラーが起こった時の修正(デバッグ)について効率よく行うための工夫についても合わせてこの場で共有する。

  • ・真っ先にエラーログを確認する。
  • ・スペルミスをしていないか
  • ・(統合開発環境の設定を変えたとき)必要な再起動を行っているか
  • ・(CSSの場合)キャッシュのクリアを行っているか
  • ・(Web系の場合)開発者ツ-ル上では反映されているか(開発者ツールを開いた状態で「ctrl+F」を押すことで確認できる)

補足、命名規則について

プログラムの変数名は頻繁に使われるものであるのでパッと見て変数が何を示しているのかを表しているのかは保守性、可用性の観点から重要である。

そのため、命名を規則的にすることで変数名を分かりやすくする考え方のことを命名規則といい、命名規則に沿った考え方の例には以下のものがある。

  • ・自作した変数はそうであると分かるように目印をつける。(例:変数名の最初に$をつける)
  • ・二つの単語を合わせた変数名では単語区切りの仕方を統一する。
    • ・例1二つ目の単語を大文字にする
    • ・例2_(アンダーバー)で区切る
    • ・例3—(ハイフン)で区切る