Groovy 是否有充分的理由使用元编程来修改方法的返回类型?

Groovy 是否有充分的理由使用元编程来修改方法的返回类型?,groovy,metaprogramming,Groovy,Metaprogramming,假设你有一个方法: boolean test() { return true; } 使用元编程将其更改为返回字符串是否是一个好主意: String test() {return "test"} 我认为使用元编程来实现这一点是令人困惑的,应该避免,因为它改变了调用代码所期望的公共接口。有人举过这样一个例子吗?我认为,如果您动态返回不同的类型,只需将方法return键入def会更有意义,例如: def test() { if (something) { return tru

假设你有一个方法:

boolean test() { return true; }
使用元编程将其更改为返回字符串是否是一个好主意:

String test() {return "test"}

我认为使用元编程来实现这一点是令人困惑的,应该避免,因为它改变了调用代码所期望的公共接口。有人举过这样一个例子吗?

我认为,如果您动态返回不同的类型,只需将方法return键入
def
会更有意义,例如:

def test() {
   if (something) {
        return true
   } else {
        return 'test'
   }
}

所以要回答你的问题,不,我认为这永远都不是一个好主意

我认为,如果动态返回不同的类型,只需将方法return键入
def
就更有意义了,例如:

def test() {
   if (something) {
        return true
   } else {
        return 'test'
   }
}
所以要回答你的问题,不,我认为这永远都不是一个好主意