🕕
[読書メモ]オブジェクト設計スタイルガイド 5章2節(後半) with TypeScript
オブジェクト設計スタイルガイドを読みながら、TypeScriptでやるならどうやるかを考えながら書きました。
要約的に読める内容になっていると思うので、サクッと3分ぐらいで読める記事となっています。
5.2 例外に関するルール
5.2.2 無効な引数やロジックの例外クラスの命名
Invalid... という名前にするといいよ。
5.2.3 実行時例外クラスの命名
「すみません...でした」の「...」に入る部分をクラスの名前にしよう。
例
- CloudNotFindProduct
- CloudNotStoreFile
5.2.4 失敗の理由を示すために名前付きコンストラクタを使う
// データを受け取る
class CloudNotFindStreetName extends Error {
static withPostalCode(code: string): CloudNotFindStreetName {
// ...
}
}
5.2.5 詳細なメッセージの追加
クライアントがメッセージを設定するのではなく、クラス内で作成しておくと便利。
class CloudNotFindProduct extends Error {
constructor(message: string) {
super(message);
this.name = "CloudNotFindProduct";
}
static withId(id: string): CloudNotFindProduct {
return new CloudNotFindProduct(`Cloud not find a product with ID ${id}`)
}
}
// 呼び出し側
CloudNotFindProduct.withId("11");
Discussion