Grails——声明注入服务的类型,或者使用def



我正在一个Grails项目中工作,团队似乎在是否应该在注入的服务中声明类型或者是否应该使用def的问题上产生了分歧。我很好奇大多数人会推荐什么?

如果你问10个人,你可能会得到11种意见,但是使用静态类型的引用是有好处的。例如,您可以利用Groovy的静态类型检查。随着GrailsCompileStatic注释的引入,这个功能在Grails 2.4中变得特别有趣。如果不提供静态类型,那么类型检查器就无法进行静态类型检查或静态编译。如果在Grails应用程序中做得很好,那么使用静态类型不会放弃太多东西,所以我认为如果我要针对问题中描述的类型提出一个无上下文的建议,我会推荐使用静态类型。

在Grails中最常见的是使用def.

Jeff是对的,声明它可以节省您处理bug和测试的时间,同时还可以提高您的速度。同时,在快速开发和模板化应用程序时,'def'是一个很好的好处。

许多开发人员不理解快速模板的好处,特别是在web开发中,以及"def"如何发挥作用,这是静态Java的真正好处。但是你必须回过头来对这些变量进行静态编码,才能获得真正的速度提升。

因此,如果在编码时你知道它是一个String, Long, List, Hashmap等,就这样编码,以避免在长期运行中让自己头痛。但是如果你不记得或者它有一个包装器,你可以使用def来运行应用,直到你回到它。

建议先让它运行,然后再对它进行改进

相关内容

最新更新