Groovy следует принципу соответствия Теннента?


15

Вот интересное обсуждение принципа соответствия Теннента и краткое описание Нила Гафтера :

Принцип гласит, что выражение или утверждение, когда оно заключено в замыкание и затем сразу вызвано, должно иметь то же значение, что и до того, как оно будет заключено в замыкание. Любое изменение семантики при переносе кода в замыкание, скорее всего, является недостатком языка.

Groovy язык следует этому принципу?

Ответы:


4

Не совсем, но почти. Все переменные, доступные во внешней области видимости, доступны в замыкании, включая «this» и члены класса. Однако returnоператор возвращается из замыкания, а не из включающей функции. Я даже не уверен, что это нарушение TCP; Я не знаю ни одного языка returnв стиле C, где в замыкании возвращается из окружающей области. У меня не было сюрпризов с использованием Groovy замыканий.


Было бы -1, если бы у меня было достаточно повторений, смотрите далее в ссылке из OP: programmers.stackexchange.com/questions/116395/…
sq33G
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.