我理解一种方法应该有效地用于单一目的。但是,如果我的方法(也充当API)被命名为execute()?
所以这些东西是这样的:
void execute() {
/* some steps to initialize stuff */
List<String> dataToBeExecuted = mainClass.getData();
/* initialization ends */
/* steps to actually execute data */
for( ...) {
try {
/* generate args to be passed to executeData() */
otherClass.executeData(args.. , dataToBeExecuted);
} catch {
/* log stuff */
}
}
/* execution ends */
/* steps to do some validation */
}
好的,现在这个功能本身正在做三件事,
* initialize stuff
* execute Data
* validate stuff
它可以分解为3种方法,但我认为既然逻辑很简单就可以保存在父execute()方法中。
什么是正确的方法?
答案 0 :(得分:2)
这不是逻辑是否简单的问题。这是数据完整性的问题。例如:
这样的问题的答案将指导决定执行是单一的公共方法,还是分成三个。 (当然,你总是可以在内部将它分成三个私有方法。)