No momento, estou trabalhando em um projeto Groovy / Grails (no qual sou bastante novo) e me pergunto se é uma boa prática omitir a return
palavra - chave nos métodos Groovy. Tanto quanto eu sei que você deve inserir explicitamente a palavra-chave, ou seja, para cláusulas de guarda, deve-se usá-la também em qualquer outro lugar? Na minha opinião, a return
palavra-chave adicional aumenta a legibilidade. Ou é algo que você só precisa se acostumar? Qual a sua experiência com esse tópico?
Alguns exemplos:
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
fonte
fonte
return
instrução. Pessoalmente, eu sempre uso o explícitoreturn
, mas não conheço o Groovy.return
apenas quando estiver perfeitamente claro.toString
é um exemplo típico: é uma linha e o valor calculado é obviamente o valor de retorno. Mas, novamente, eu não programei Groovy suficiente para saber se isso se encaixa no que a comunidade maior pensa.Respostas:
Eu certamente acrescentaria o retorno, pois torna a intenção mais clara para qualquer pessoa (inclusive você) que possa vir e atualizar / manter o código posteriormente.
Caso contrário, pode parecer um erro de digitação.
A outra coisa é lembrar de declarar funções / fechamentos que devem retornar um vazio como 'vazio' - novamente para tornar mais claro aos futuros mantenedores o que você está tentando fazer.
fonte
Clareza é rei.
Faça o que estiver mais claro para o colega programador que precisa ler seu código depois de escrevê-lo.
fonte
Aqui está um argumento para omitir as instruções de retorno ( fonte ):
fonte