Memo:

アイデアや気づきとかが雑に書き殴られる

TypeScript

JavaScriptのProxyを使って、サードパーティーのクラスを書き換えずにログを出力したい

以下のようなサードパーティのクラスがあって、メソッドに渡された引数や結果をログに残すためにインターセプトしたい。 自分らが管理しているクラスなら、デコレーターを作るのがいいと思うが、サードパーティーのクラスを書き換えるのはちょっと嫌だ(保守…

DRY原則と直交性、仕様変更時の影響を考えてみる

良い設計とは?と聞かれるとパッと答えるのは難しいが「悪い設計とは?」と聞かれたときには以下のようなものが思い浮かぶ。

TypeScript で stripe-node API のレスポンスから requestId や statusCode を取得したい

TypeScript + stripe-node で API の requestId や statusCode 等を取得したい時、API の返り値の lastResponse から得られる。しかし、 Property 'lastResponse' does not exist on type 'Session'. と TypeScript に怒られることがある。 var customer = a…

変数の知識の重複による不整合を防ぎたい(DRY原則とオブジェクト指向)

オブジェクト内で同じ意味を持つ変数が複数存在する場合(つまり、DRY な状態になっていない)、不整合が発生する可能性がある。 例えば、注文を表す Order と、商品を表す Item を考えてみる。Order は複数の Item オブジェクトをまとめる役割である。Item …