假设我有一个非强制性文件,其中包含setter和getter。
假设在User对象中是phoneNumber。

在二传手中,我想这样:

public void setPhoneNumber(String phoneNumber) {
    if (PhoneNumberValidator.isPhoneNumberStructureValid(phoneNumber)) {
        this.phoneNumber = phoneNumber;
    }
}


我不喜欢在电话号码无效的情况下不采取任何措施的想法。也许要记录一下吗?我不确定,因为某些原因,我认为登录设置器是一种不好的代码味道。

最佳答案

1)您应避免将设置器与验证规则混合使用。
由于设置员通常很笨,因此,如果开发人员尚未开发该设置员,则应该采用这种方法来猜测验证规则。

2)您还应避免登录设置器,因为它会使您的代码可读性降低,并且会鼓励分散调试日志,这是一种不好的做法。

3)如果电话必须是有效的并且您有效,则应在尝试设置该字段之前执行该操作。了解验证逻辑更具可读性。
此外,您应尝试将所有验证分组到同一方法或同一类中。它简化了对验证规则集的理解。
如果您认为这很重要,那么这将是记录未遵守的验证规则的好地方。

关于java - 登录设置员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41789611/

10-10 19:30