Pull to refresh

Groovy как лучшая Java

Reading time1 min
Views19K
Groovy можно использовать по разному — для скриптов, для Grails, для быстрого написания прототипов, для DSL и т.д.

Меня же Groovy всегда привлекал как улучшенная Java. В самом деле — почти любой Java код будет валидным кодом Groovy — т.е. если не помнишь как что то делать в Groovy-way, можно всегда писать так, как принято в Java, а если помнишь — вот тебе и Closures, и удобные списки, и много других замечательных вещей.

Единственное, что мешало использовать Groovy для разработки production кода — отсутствие ошибок компиляции в большом числе случаев. Например если вызываешь несуществующий метод, обращаешься к несуществующей переменной и т.д.

Для многих Groovy фреймворков и библиотек это реально нужно (см. например работу с XML в Groovy), но если я пишу обычный код, мне это серьезно мешает.

Так вот, наконец в Groovy 2.0 появилась возможность сказать — проверяй в этом классе типы, существование методов и переменных!


Возьмем, например, такой класс:

image

Он комплируется без проблем.

Но если мы добавим
@TypeChecked (эта аннотация может быть на классе или методе), то получим ошибки:

image

Также проверка автоматически включается, если мы включаем для класса статическую компиляцию аннотацией @CompileStatic:

image

Теперь можно будет писать на Groovy всё то, что писалось на Java и не бояться проблем, пропущенных компилятором.

Полный список проверок можно найти здесь.

Было бы еще классно, если бы сделали проверку типов по умолчанию, а динамическую типизацию по аннотации…
Tags:
Hubs:
Total votes 16: ↑14 and ↓2+12
Comments44

Articles