知道在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/

10-08 20:37