Java方法最佳设计实践
我知道在Java中,每当代码块要执行多次时,就会创建一个方法 例如,下面的printPlusOne将被调用五次:Java方法最佳设计实践,java,methods,Java,Methods,我知道在Java中,每当代码块要执行多次时,就会创建一个方法 例如,下面的printPlusOne将被调用五次: class Count{ public static void main(String[] args) { for(int i = 0; i < 5; i++){ printPlusOne(i); } } public static void
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);
}
}
创建方法将使代码更加可读/可维护,但如果只调用一次,则完全取决于您,但我想,从技术上讲,最好创建一个方法,使其更易于更改/更新。我的经验法则是:一个方法应该做一件事,并且做得很好。如果它今天只被调用一次,它可能在六个月后被调用到其他地方。不仅如此,正如@holtc所说,它使理解代码所做的事情变得更加容易。这里不仅有“经验法则”指导您。整个“”(以罗伯特·马丁(Robert Martin)的优秀绝对必读“干净代码”(Clean Code)为基础;现在就去获取免费的PDF)及其原则告诉我们:“方法越多越好” 或者更准确地说:
另外,请记住:不要担心运行时的效率。JVM/JIT非常擅长优化小方法;越小,在运行时内联它们就越容易 调用代码的次数与此无关。当您有一组一个或多个操作时,您可以创建一个方法,这些操作可以封装在整个操作的一个直观和描述性名称中。也就是说,如果你有一行或多行代码来“做一件事”,那么你会将它们放入一个以该事情命名的方法中代码>这样会更灵活。当我决定将一个方法绑定到一个特定的输出流时,我也会小心,因为这会降低代码的灵活性。@ChiefTwoPencils,谢谢。我只是用这个作为一个简单的例子。我想。我想这可能对你的问题也有用。
printPlusOne
方法利用了不必要的sum
,因为i
通过值传递,实际上只做一件有用的事情(打印)。因此,将这两种方法结合到printNumsPlusOne()
中,这样做正好System.out.println(i+1)
似乎是更好地使用方法IMHO。@只要一行代码的意图不明显,就需要使用带有一行代码的伪随机方法。标准不一定是长度,尽管较长的方法在意图上往往冗长而模糊。
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.")
}
}