アルパカログ

防御的プログラミングと例外「CODE COMPLETE」まとめ

2020年5月18日
🔖プログラミング🔖読書メモ

前回のエントリでは名付け、継承、凝集度などをまとめた。

このエントリでは、「CODE COMPLETE」から防御的プログラミングと例外、変数についてまとめる。

防御的プログラミング

「防御的プログラミング」とは、プログラミングに対して防御的になること、つまり「そうなるはずだ」と決め付けないことである。

正当性と堅牢性

通常は、動かないプログラムの方が欠陥があるプログラムよりも被害がずっと少ない。

例外

悪い例

Public TaxId GetTaxId() throws EOFException {
  ...
}

良い例

public TaxId GetTaxId throws EmployeeDataNotAvailable {
  ...
}

EOFExceptionEmployeeDataNotAvaileble にマッピングしただけかもしれないが、インターフェイスの抽象化レベルは維持できている。

変数

変数の良し悪しはその名前でだいたい決まってしまう。変数名は慎重に選択すべし。

一般的なブール変数名

定数名

省略形

おわりに

このエントリでは、「CODE COMPLETE」の防御的プログラミングと例外、変数についてまとめた。

「CODE COMPLETE」の他の章は下記でまとめている。

タグ