system-sekkei/isolating-the-domain

startDateとapplyDateが混在しているようなので統一した方がよいと思います

Closed this issue · 4 comments

/webapp/src/main/java/example/infrastructure/datasource/contract/ContractMapper.xmlでは、insertContractHistoryのみapplyDate.valueとなっているので、startDateに統一した方がよいと思います。(DBテーブルの日本語カラム「適用開始日」に対応させるのであれば、applicationStatDateに修正した方がなおよいと思います。)

void registerHourlyWage(EmployeeNumber employeeNumber, Date startDate, WageCondition wageCondition);

public void registerHourlyWage(EmployeeNumber employeeNumber, Date applyDate, WageCondition wageCondition) {
mapper.deleteContractData(employeeNumber, applyDate);
Integer hourlyWageId = mapper.newHourlyWageIdentifier();
mapper.insertContractHistory(employeeNumber, hourlyWageId, applyDate, wageCondition);
mapper.insertContract(employeeNumber, applyDate, wageCondition);

void deleteContractData(@Param("employeeNumber") EmployeeNumber employeeNumber, @Param("startDate") Date startDate);

なるほど。パラメータ名が揺らいでいますね。
合わせたほうがよいと思います。

名前ですが、startDateよりは、effectiveDateのほうが、契約の適用開始日という意味ではよいかもしれません。

ご提案いただいた applicationStartDateは、冗長に感じます。
パラメータ名とか変数名は、可能であれば2単語以内で表現したいと思っています。

ご回答ありがとうございます。

パラメータ名とか変数名は、可能であれば2単語以内で表現したい

今後の設計、実装でも留意します。

irof commented

effectiveDate にしました

ご対応くださり、ありがとうございます。