寻找更好的方法名称

时间:2013-10-30 14:49:59

标签: java oop method-names

在代码审查中,我面对的是一个包含以下方法对的类:

getOrCreateXXXFor(YYY)
getXXXFor(YYY)

(XXX和YYY是两种业务逻辑类型。)我不确定这些是否是理想的名称。

第一个确实与Singleton模式相关,但带有参数和

  • 返回一个对象(如果存在)或
  • 创建并返回它,如果它不存在。

第二个

  • 返回与第一个方法相同的对象,但仅返回(如果存在)
  • 抛出Exception,如果它不存在。

我在考虑是否应该重命名。你有更好的建议吗?


[编辑] 更具体一点:

  • 名称应简明扼要地描述所发生的事情(无需阅读文档)
  • 这两种方法的关系应该用名称
  • 保存

简而言之,它应该会产生一个干净的API。 提供一个易于理解的名称是软件工艺的核心部分。该主题与排序数组一样基于意见。

1 个答案:

答案 0 :(得分:2)

查看Singleton-Pattern和/或Flyweight-Pattern

我建议将其实现为Singleton并提供一个exists方法。

public class SingletonDemo {
    private static volatile SingletonDemo instance = null;

    private SingletonDemo() {       }

    public static SingletonDemo getInstance() {
            if (instance == null) {
                    synchronized (SingletonDemo .class){
                            if (instance == null) {
                                    instance = new SingletonDemo ();
                            }
                    }
            }
            return instance;
    }

    public boolean exists() {
        return instance != null;
    }
}