Llevo un tiempo desarrollando en Groovy y me pregunto con qué frecuencia debería utilizar el casting dinámico def. Un compañero de trabajo mío cree que deberíamos usarlo siempre, ya que ayuda a Groovy de alguna manera que no entiendo.
Actualmente, al declarar los tipos y argumentos de retorno de métodos, me gusta establecer deliberadamente qué objetos se deben incorporar y escupir (para facilitar la lectura del código y vengo de un fondo de Java, tiene sentido para mí) ejemplo:
String doSomething(String something){
//code
}
// vs
def doSomething(def somthing){
//code
}
// vs
def doSomething(somthing){
// code
}
Entonces, supongo que mi pregunta es solo una preferencia de cuándo usarlo defo ¿hay una ventaja real de usarlo todo el tiempo? (Agregué el último ejemplo porque sentí que encaja con la pregunta como una opción viable para Groovy)