Obecnie pracuję nad projektem Groovy / Grails (w którym jestem całkiem nowy) i zastanawiam się, czy dobrą praktyką jest pominięcie return
słowa kluczowego w metodach Groovy. O ile wiem, musisz jawnie wstawić słowo kluczowe, np. Dla klauzul ochronnych, więc czy należy go używać także wszędzie indziej? Moim zdaniem dodatkowe return
słowo kluczowe zwiększa czytelność. A może po prostu musisz się przyzwyczaić? Jakie masz wrażenia z tego tematu?
Kilka przykładów:
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
źródło
źródło
return
instrukcji. Osobiście zawsze używam tego jawnegoreturn
, ale nie znam Groovy.return
tylko wtedy, gdy jest to całkowicie jasne.toString
jest typowym przykładem: jest to jednowierszowy, a obliczona wartość jest oczywiście wartością zwracaną. Ale z drugiej strony nie zaprogramowałem wystarczająco dużo Groovy, aby wiedzieć, czy pasuje to do tego, co myśli większa społeczność.Odpowiedzi:
Z pewnością dodałbym zwrot, ponieważ dzięki temu intencja staje się bardziej zrozumiała dla każdej osoby (w tym ciebie), która może przyjść i zaktualizować / zachować kod później.
W przeciwnym razie może to wyglądać na błąd pisania.
Inną rzeczą jest pamiętanie o zadeklarowaniu funkcji / zamknięć, które powinny zwrócić void jako „void” - ponownie, aby wyjaśnić przyszłym opiekunom, co próbujesz zrobić.
źródło
Klarowność jest królem.
Zrób to, co jest najbardziej jasne dla programisty, który musi przeczytać kod po jego napisaniu.
źródło
Oto argument za pominięciem instrukcji return ( Źródło ):
źródło