2012-09-19 50 views
0

这是一个干净代码类型的问题。覆盖其他值的参数名称

应用程序发送适当地址的电子邮件。但是当设置变量X时,它将覆盖所有电子邮件地址。所有邮件都发送到X.变量X指定的地址正在从配置文件在部署时间阅读和IoC容器设置 某事像:

public class EmailSender { 

    @Value("config.option.X") 
    private String X; 

    public void sendEmail() { 
     ... 
     if (X != null) message.setEmailAddress(X); 
     internalEmailSender.send(message); 
    } 
} 

,我不知道如何正确地命名X。 replacerEmailAddress? emailAddressOverrider?任何更好的想法?

回答

0

什么是变量X被设置的上下文?我会尝试命名它以某种方式引用该条件。

+0

它在被部署在读取配置文件中设置。我会在我的问题中写更多的细节 – piotrek

+0

我想我更多地指的是设置覆盖电子邮件地址的商业原因是什么?如果有一个简洁的理由来设置它,试着以某种方式使用该原因命名该变量。 – chinabuffet

+0

哦。这是为了测试。我们的应用程序发送电子邮件给用户,但在开发和UAT我们希望它发送邮件在一个特定的地址,而不是垃圾邮件用户 – piotrek

0

对我来说,它看起来像默认选项。

所以我将其命名为这样的:

公共类EmailSender {

@Value("config.option.defaultEmailValue") 
private String defaultEmailValue; 

public void sendEmail() { 
    ... 
    if (defaultEmailValue != null){ 
     message.setEmailAddress(defaultEmailValue); 
    } 
    internalEmailSender.send(message); 
} 

}