Groovy как лучшая Java

в 18:55, , рубрики: groovy, java, метки: ,

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 и не бояться проблем, пропущенных компилятором.

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

Было бы еще классно, если бы сделали проверку типов по умолчанию, а динамическую типизацию по аннотации…

Автор: javax

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js