Tags
221 ページ目
Refactoring
ボタンを連打すると、同じ処理が二重に走って二重送信になる。await をまたぐ前に実行中フラグを立てて締め出す【Race Condition】
キャンセル機能を足したら、確認メールが2通届いた。部品同士の直結をやめ仲介役に集める【Mediator】
リクエストID の形式を変えるのに、30ファイルを直す羽目になった。横断処理を1か所に集める【Middleware】
共通関数にしても、HTTPの外から呼べない。ハンドラーに作り付けた処理を切り出す【Command】
同じ直しが、3本目のバッチにだけ当たらなかった。丸写しの骨格を1本にまとめる【Template Method】
1年前に保管した証跡が、監査の朝に開かなかった。暗号化や圧縮を1枚ずつ重ねる【Decorator】
通知を1本足しただけで、ポイント付与が止まった。反応を直書きせず「起きた」と知らせる【Observer】
支援者IDが、そのまま寄付額として処理された。意味の違う値を別の型にする【Value Object】
キャンセルしたはずの注文が発送された。状態の判断を状態自身に持たせる【State】
テストが1行も書けない。部品を内部で作るのをやめ、外から受け取る【Dependency Injection】
コンパイルもCIも緑なのに、本番だけ停止した。位置渡しをやめ名前で設定を渡す【Functional Options】
決済方法を足したら、料金計算が本番で止まった。分岐を差し替え可能にする【Strategy】
通知の改善を入れたら、課金まで壊れた。巨大な1クラスを責務ごとに切り出す【God Object】
正規表現で場当たりに解析していたスクリプトに、条件を足すたび限界が来る。文法を構文木にする【Interpreter】
崩落の検知に、ブザーと扉と照明を直接呼んでいる。変化を知らせるだけにして連動させる【Observer】
1
…
4
5
6
…
15