在我的代码(假设的)中,我想使用getOrCreate函数。我传递参数,然后从数据库中获取一个新实体或一个现有实体(如果存在)。
从一个角度看,这是一种错误的方法,因为函数不应做超过一件事。但是从另一个角度来看,这是一个单一的操作,只是没有一个合适的英文单词,我可以减少代码中的重复项。
那么,使用这种方法是好事还是坏事?又为什么呢?
这是一个获取函数。您将获得该类的一个实例。
get 函数内部如何工作对于外界来说并不重要。
public Object getObject(int key) {
Object object = getObjectFromDatabase(key);
if (object == null) {
object = createObject(key);
writeObjectToDataBase(key, object);
}
return object;
}
Run Code Online (Sandbox Code Playgroud)
每种方法都有一种功能。
编辑补充:有些人从内到外看待方法。这就是您在为该方法编写代码时需要执行的操作。我认识到我的 getObject 方法必须做几件事才能真正获取对象。
但是,当您命名该方法时,您是从外部查看该方法。这就是为什么我的 getObject 方法“获取一个对象”(非常简短的 Javadoc 描述)。如果您不能写一个简单的声明性句子来描述您的方法的功能,那么您的方法可能太复杂了。