Есть ли веская причина использовать метапрограммирование для изменения типа возвращаемого значения метода? - PullRequest
1 голос
/ 03 января 2011

Скажем, у вас есть метод:

boolean test() { return true; }

Будет ли хорошей идеей использовать метапрограммирование, чтобы изменить его и вернуть строку:

String test() {return "test"}

Я думаю, что использование метапрограммированияэто сбивает с толку, и его следует избегать, поскольку оно изменяет открытый интерфейс, ожидаемый вызывающим кодом.У кого-нибудь есть пример того, когда это будет хорошей идеей?

1 Ответ

1 голос
/ 05 января 2011

Я думаю, что если вы динамически возвращаете разные типы, было бы более разумно просто набрать метод return как def, например:

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

Поэтому, чтобы ответить на ваш вопрос, нет, я не думаю,это было бы хорошей идеей.:)

...