groovy: использовать скобки для вызовов методов или нет? - PullRequest
15 голосов
/ 09 февраля 2011

это довольно общий вопрос о том, должны ли люди использовать скобки при вызовах методов, которые принимают параметры или нет.то есть

def someFunc(def p) {
...
}

затем вызов:

someFunc "abc"

vs ...

someFunc("abc")

Это просто вопрос согласованности или есть конкретные случаи использования длякаждый

Ответы [ 3 ]

18 голосов
/ 09 февраля 2011

Это в первую очередь вопрос согласованности и читабельности, но обратите внимание, что Groovy не всегда позволяет вам избежать использования круглых скобок. Например, вы не можете опустить круглые скобки в вызовах вложенных методов:

def foo(n) { n }
println foo 1 // won't work

См. Раздел " Пропуск скобок " в руководстве по стилю .

3 голосов
/ 09 февраля 2011

Нет конкретного случая, когда вы должны удалить их, вы всегда можете использовать их.Просто красивее было бы их пропустить.
В некоторых случаях вы не можете этого сделать (где вы можете спутать параметр list / map с оператором индекса, например, вложенные вызовы или когда оператор является присваиванием),но общее правило заключается в том, что внешний вызов может не содержать скобок, если нет двусмысленности.
(удалил несколько строк, так как я только что получил уведомление о том, что уже есть сообщение с этой информацией) Groovy 1.8 позволит еще большеслучаи, чтобы опустить скобки, вы можете проверить их в
http://groovyconsole.appspot.com/script/355001

1 голос
/ 01 сентября 2013

«пустая пара скобок - просто бесполезный синтаксический шум!»

Мне кажется, что они поощряют использование скобок, когда они служат цели, но опускают их, когдаони просто "шумят"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...