Looking for better method names
在代码评审中,我将面对一个包含以下方法对的类:
1 2 | getOrCreateXXXFor(YYY) getXXXFor(YYY) |
(XXX和YYY是两种业务逻辑类型。)我不确定它们是否是理想的名称。
第一个确实与单例模式有关,但带有一个参数和
- 返回一个对象(如果存在)或
- 如果它不存在,则创建并返回它。
第二个
- 返回与第一个方法相同的对象,但仅当它存在时返回
- 如果不存在,则抛出一个
Exception 。
我在想他们是否应该改名。你有什么更好的建议吗?
[编辑]更具体地说:
- 这些名称应该是对发生的事情的简短描述(不需要阅读文档)
- 两种方法的关系应该用名称来保存
简而言之,它应该产生一个干净的API。给事物起一个好的可理解的名字是软件技术的核心部分。这个主题几乎没有排序数组那样基于意见。
看看单件和/或飞锤图案
我建议将其作为单例实现,并提供一个现有的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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; } } |