我知道在Java中,每当要执行多次代码块时都会创建一个方法。
例如,下面的printPlusOne将被调用五次:
class Count{
public static void main(String[] args) {
for(int i = 0; i < 5; i++){
printPlusOne(i);
}
}
public static void printPlusOne(int i){
int sum = i + 1;
System.out.println(sum);
}
}
但是如果我只想执行一次相关代码块怎么办呢。我还应该为它创建一个方法吗?或者我应该在主方法中保留代码,如下所示。 一般来说,即使只调用一次方法,创建方法也是一种很好的设计实践吗?或者这些是不必要的,我可以在主方法中留下代码块吗?
class Count{
public static void main(String[] args) {
//The below will print only once at the beginning of the program.
//Should I create a method for it even if it runs only once?
System.out.println("This is the introduction.");
System.out.println("The program will return a count");
System.out.println("Have fun.")
}
}
答案 0 :(得分:3)
不仅有&#34;经验法则&#34;在这里指导你整个&#34; clean code movement&#34; (某种程度上基于优秀的绝对必读和#34;清洁代码&#34;罗伯特马丁;去获得免费的PDF 现在),其原则告诉我们:&#34;更多方法越好&#34;。
或者更确切地说:
但是为了避免误解:我们的目标是创建最大的代码#34;可读。你不会创造很多方法,因为原则是这样说的。您可以创建完成工作所需的方法;不低于;但也不是更多!
最后:&#34;许多简短方法的一个重要方面优于少数冗长方法&#34;是:这样的设置有助于你的大脑&#34;更快地掌握内容。关键是你的大脑总是试图找到背景,&#34;边界&#34;学习任何写下来的东西。这很简单:如果你编写具有明确,易于掌握的边界的代码;然后,当你稍后回来学习代码时,你正在帮助你的大脑。但如果你把太多东西变成一种方法,那么你的大脑就会开始“切片”#34;方法的内容分为较小的部分。换句话说:你通过强迫你的大脑“忽略”而浪费大脑CPU周期。事实上,在一个大方法中隐藏了许多小方法。
并且为了记录:不要担心运行时效率。 JVM / JIT非常擅长优化小方法;越小越容易在运行时内联它们。
答案 1 :(得分:2)
我的经验法则:一种方法应该做一件事,做得好。如果今天只召唤一次,可能会在六个月后在其他地方召唤。不仅如此,正如@holtc所说,它使您更容易理解代码的作用。
答案 2 :(得分:1)
创建方法会使代码更具可读性/可维护性,但如果它只被调用一次,那么它取决于你,但我猜想从技术上讲,最好创建一个方法来制作更容易更改/更新前进