Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考

本日読了。

この手の本は数多あるので、それぞれ特徴的な話を少しずつ取り入れていきたい。

  • エラーをちゃんと出す
  • マジックバリューは使わずに言語のNullやエラーを返す
  • 列挙型のデフォルト処理はしない
  • すべてをなるべく不変にする
  • 構築時に少しずつ値を設定するならビルダーパターンを使う
  • 汎用データ型は避け、専用クラスでのパラメータ受け渡しを考える
  • 依存性注入(DI)を使う(コンストラクタで依存性を注入する)
  • 継承ではなく親クラスを所有する(真のis-a関係でも継承は問題になる場合がある)
  • 戻り値の型は、内部の実装とは疎結合にする
  • 想定は強制する
  • テストダブル(モック、スタブ、フェイク)を活用する