6
競合する関数パラメーターを処理するパターンはありますか?
指定された開始日と終了日に基づいて、合計金額を月額に分割するAPI関数があります。 // JavaScript function convertToMonths(timePeriod) { // ... returns the given time period converted to months } function getPaymentBreakdown(total, startDate, endDate) { const numMonths = convertToMonths(endDate - startDate); return { numMonths, monthlyPayment: total / numMonths, }; } 最近、このAPIの消費者は、1)終了日ではなく月数を提供するか、2)毎月の支払いを提供して終了日を計算することにより、他の方法で日付範囲を指定したいと考えました。これに応じて、APIチームは機能を次のように変更しました。 // JavaScript function addMonths(date, numMonths) { // ... returns a new date …
38
api-design