更好的名称为“ afterOrEqualDate”方法

时间:2019-11-27 12:10:17

标签: naming

我们的代码中有一个方法whereContractEndIsAfterOrEqualDate(),我不喜欢“ AfterOrEqualDate”部分,因为它很长。

这种方法是否有更好的名称?


Laravel PHP框架具有同名的验证器:https://laravel.com/docs/5.5/validation#rule-after-or-equal

3 个答案:

答案 0 :(得分:6)

如果这是一个布尔方法,我更喜欢一种更逻辑/语义的方式来表示此控件的实际行为,例如isContractDateExpired()

通过这种方法,您正在固定方法的名称,以从对象上下文本身揭示其意图。从较高级别的角度来看,访问和调用此对象可能并不重要,即声明如何检查日期是否在日期之前或等于日期不重要。这种方法使我们的对象更具域驱动性和自主性。

答案 1 :(得分:2)

如何:

.contractValid()

.contractExpired()

答案 2 :(得分:-1)

!beforeDate()可能更干净