知道在Kotlin / Java函数中,对象是作为其引用的副本传递的。我想知道Option 2
是否比Option 1
好。我认为在某些情况下Option 1
更具可读性,但是我不确定它是否有任何缺点。
选项1
fun modifyListFunction(someList: List): List {
// modifify items in someList
return someList
}
someList = modifyListFunction(someList)
someList = modifyListFunction2(someList)
someList = modifyListFunction3(someList)
选项2
fun modifyListFunction(someList: List) {
// modifify items in someList
}
modifyListFunction(someList)
modifyListFunction2(someList)
modifyListFunction3(someList)
最佳答案
当一个函数返回一个对象时,那么阅读程序的程序员将理解该函数是获取某个对象所必需的。如果您对函数内部的对象执行某些操作以返回void,那么如果您不阅读该函数,将无法了解此函数是否会影响传递给它的对象。另外,第二种方法增加了错误的可能性。
通常,您必须遵守以下规则:“如果要更改输入数据并对它们做进一步的处理,则该函数应返回结果。如果输入数据仅用于从其中读取任何信息,则可以不返回无效”
关于java - Java/Kotlin:从函数返回对象与不返回对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60537503/