En este momento estoy trabajando en un proyecto Groovy / Grails (en el que soy bastante nuevo) y me pregunto si es una buena práctica omitir la returnpalabra clave en los métodos Groovy. Hasta donde sé, debe insertar explícitamente la palabra clave, es decir, para las cláusulas de protección, ¿debería uno usarla también en cualquier otro lugar? En mi opinión, la returnpalabra clave adicional aumenta la legibilidad. ¿O es algo a lo que solo tienes que acostumbrarte? ¿Cuál es tu experiencia con ese tema?
Algunos ejemplos:
def foo(boolean bar) {
// Not consistent
if (bar) {
return positiveBar()
}
negativeBar()
}
def foo2() {
// Special Grails example
def entitiy = new Entity(foo: 'Foo', bar: 'Bar')
entity.save flush: true
// Looks strange to me this way
entity
}
coding-style
groovy
Roland Schneider
fuente
fuente

returndeclaración. Personalmente, siempre uso el explícitoreturn, pero no sé Groovy.returnsolo cuando esté perfectamente claro.toStringEs un ejemplo típico: es una línea y el valor calculado es obviamente el valor de retorno. Pero, de nuevo, no he programado suficiente Groovy para saber si eso encaja en lo que piensa la comunidad en general.Respuestas:
Ciertamente agregaría la devolución, ya que aclara la intención de cualquier persona (incluido usted) que pueda venir y actualizar / mantener el código más adelante.
De lo contrario, podría parecer un error de escritura.
La otra cosa es recordar declarar funciones / cierres que se espera que devuelvan un vacío como 'vacío', nuevamente para aclarar a los futuros mantenedores lo que está tratando de hacer.
fuente
La claridad es el rey.
Haga lo que sea más claro para el programador compañero que tiene que leer su código después de escribirlo.
fuente
Aquí hay un argumento para omitir las declaraciones de retorno ( Fuente ):
fuente