正确的方法来编写方法

时间:2016-08-10 07:14:10

标签: java methods

这本书"清洁代码"罗伯特C.马丁说一种方法应该做一件事。现在举个例子,我有两个方法initialize()和play()。

  应该在调用play()之前调用

initialize()。

在我的代码中,

play()方法将被调用数百次。我可以看到三种方法:

方法-1:

在play()之前调用initialize(),这可能会重复数百次。

initialize();
play();

...

initialize();
play();

...

方法-2:

将initialize()放在play()方法中。但这会违背"做一件事"方法

void play() {
    initialize();
    ...
}

方法-3:

我应该编写另一个名为initializeAndPlay()的方法。

void initializeAndPlay() {
    initialize();
    play();
} 

还有其他更好更清洁的方法吗?

2 个答案:

答案 0 :(得分:4)

如果在初始化后播放通常,我会选择第三个,因为它是最清晰的。

如果没有初始化就无法进行游戏,请选择第二个。

另一方面,我会考虑提供方法的类的设计。在大多数情况下,初始化是在构造函数中完成的。

答案 1 :(得分:0)

我认为这很大程度上取决于你初始化方法的作用。如果它初始化当前对象,我会选择2号选项并保护它:

void play() {
 if (!initialized) {
    initialize();
 }
 ...
}

如果初始化整个系统/ UI,我会选择3号选项。