STORES 予約 で Webアプリケーションエンジニアをしています。ykpythemindです。 STORES 予約 では機能開発する際に積極的にリファクタリングを行っています。 前回 は支払い方法API部分のリファクタリングを途中まで紹介しました。後編ではより踏み込んだリファクタリングを実施し、凝集度の低いクラスを削除します。 tech.hey.jp 内部実装を知らなくて済むように分岐を減らす 前回、予約確定後に使った支払い方法を記録する部分には問題がありました。 # 予約に対して支払いを実施し、結果を記録します def update_payment!(reservation, payment_request) payment_service = Reservation::PaymentService.new reservation.merchant # 支払い方法によって分岐 cas
![STORES 予約 のリファクタリング(後編) - STORES Product Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/ff51b30776e88eaf27e1e25c312589ce61dca9b1/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fykpythemind%2F20220804%2F20220804154705.png)