Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用方法';s在java中作为参数返回?_Java - Fatal编程技术网

使用方法';s在java中作为参数返回?

使用方法';s在java中作为参数返回?,java,Java,使用将对象作为参数返回的方法是否被认为是错误的做法?我有以下方法: public static boolean checkForBlanks(PageDescription pageDesc){ // do some stuff } 此方法在另一个方法中调用: checkForBlanks(aPage.getPageDescription()); 首先使用getPageDescription方法创建PageDescription对象,然后将其作为参数传递(checkForBlanks

使用将对象作为参数返回的方法是否被认为是错误的做法?我有以下方法:

public static boolean checkForBlanks(PageDescription pageDesc){
    // do some stuff
}
此方法在另一个方法中调用:

checkForBlanks(aPage.getPageDescription());
首先使用
getPageDescription
方法创建
PageDescription
对象,然后将其作为参数传递(
checkForBlanks
方法将检查此对象上的许多字段)是更好的做法,还是当前实现有任何优势


PageDescription
对象在调用方法中没有在其他任何地方使用,因此它仅在
checkForBlanks
方法中显式使用。

由于
aPage.getPageDescription()
返回的实例只在方法中使用一次,因此分配
aPage.getPageDescription()没有任何好处
在将变量传递给
checkForBlanks()

之前将其分配给变量,因为
aPage.getPageDescription()
返回的实例在方法中只使用一次,所以在将变量传递给
checkForBlanks()之前将
aPage.getPageDescription()
分配给变量没有任何好处

你应该用这个(好)

而不是这个(坏的):

第二个变量中的
pageDescription
是一个不必要的局部变量,因为没有从后面读取的值。因此,您需要放大您的代码(好的,只有一行),创建对象将花费CPU时间和内存消耗。两者都不需要。

你应该用这个(好)

而不是这个(坏的):


第二个变量中的
pageDescription
是一个不必要的局部变量,因为没有从后面读取的值。因此,您需要放大您的代码(好的,只有一行),创建对象将花费CPU时间和内存消耗。两者都不需要。

在这种情况下,这只是偏好的问题。我不喜欢将双手绑在背后以适应一些错误的代码概念

总的来说,我更喜欢好看的代码

checkStuff(storage.getEntry())
是一条简单明了的好路线,每个人都可以很容易地遵循它

World.getSomething().doStuff(Storages.getStorage(key.getEntry())不太清晰

保持它干净和简单。这是最好的办法。如果一周后你查看你的代码,却不知道你到底做了什么,那么你就做错了

好的代码最终是:


享受编码的乐趣。

在这种情况下,这只是偏好的问题。我不喜欢将双手绑在背后以适应一些错误的代码概念

总的来说,我更喜欢好看的代码

checkStuff(storage.getEntry())
是一条简单明了的好路线,每个人都可以很容易地遵循它

World.getSomething().doStuff(Storages.getStorage(key.getEntry())不太清晰

保持它干净和简单。这是最好的办法。如果一周后你查看你的代码,却不知道你到底做了什么,那么你就做错了

好的代码最终是:


享受编码乐趣。

在这种情况下,您拥有的是好的。创建页面描述对象将不必要地扰乱代码。如果以后您打算对该对象做更多的事情,那么在这一点上,有它自己的引用是有意义的。另外请记住,如果该方法的名称不好/不明确(例如在第三方API中),则专用变量可能会提高代码的可读性。然后,一个好的变量可以更容易地理解方法返回的内容。在你的例子中,方法的目的是明确的,这是没有必要的。在这种情况下,你所拥有的是好的。创建页面描述对象将不必要地扰乱代码。如果以后您打算对该对象做更多的事情,那么在这一点上,有它自己的引用是有意义的。另外请记住,如果该方法的名称不好/不明确(例如在第三方API中),则专用变量可能会提高代码的可读性。然后,一个好的变量可以更容易地理解方法返回的内容。在你的例子中,方法的目的是明确的,这是没有必要的。一个很小的问题。它可能只会在编译时花费更多的性能,因为编译器可能会内联它。这是一个很小的问题。它可能只会在编译时花费更多的性能,因为编译器可能会内联它。
checkForBlanks(aPage.getPageDescription());
PageDescription pageDescription = aPage.getPageDescription();
checkForBlanks(pageDescription);