Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Groovy:可以放弃保留字吗?_Java_Grails_Groovy - Fatal编程技术网

Java Groovy:可以放弃保留字吗?

Java Groovy:可以放弃保留字吗?,java,grails,groovy,Java,Grails,Groovy,随着Groovy的升级,我遇到了一个非常恼人的问题:新添加的保留字:trait 因为在升级之前,我实现了许多名为trait的变量,以及从我完成的trait类扩展而来的类 示例代码如下所示: class Dataseries extends Trait { SingleTrait trait ... ... } 重新命名所有的名字真的需要很多时间 所以我想,如果有可能放弃Groovy所使用的保留词? 所以我想,如果有可能放弃Groovy所使用的保留词? 不,这是不可能的

随着Groovy的升级,我遇到了一个非常恼人的问题:新添加的保留字:
trait

因为在升级之前,我实现了许多名为
trait
的变量,以及从我完成的trait类扩展而来的类

示例代码如下所示:

class Dataseries extends Trait {
    SingleTrait trait
    ...
    ...
}
重新命名所有的名字真的需要很多时间

所以我想,如果有可能放弃Groovy所使用的保留词?

所以我想,如果有可能放弃Groovy所使用的保留词?

不,这是不可能的


名为
Trait
SingleTrait
等的类不需要重命名,因为它们不区分大小写匹配。

引入该功能时讨论过这一点

正如其他人所说,你的两个务实选择是:

  • 重命名变量
  • 坚持使用旧版本的groovy(直到那时您才使用#1)

  • 是的,不是类名,但是许多名为trait的变量,比如
    SingleTrait
    将被检测为保留字:(如果您有一个好的IDE(例如IntelliJ),那么这些变量在编译时会出错),重命名它们不应该超过5分钟。现在为变量“trait”选择一个新名称真的很困难,根据Java codestyle的最佳实践,有什么更好呢?@Demonbane我不知道代码就不可能回答这个问题。你可以称它为类似
    \u trait
    traitInstance
    这样的蹩脚东西>,但我会选择更有意义的,即变量名应该描述由特征添加的行为,例如,
    flyingAbility
    可能使用您可以使用的功能来更改变量名,如果您是(真的是这样)不顾一切,您可以在删除关键字的情况下运行自己的groovy。但是我想一个具有适当重构支持的IDE会让您走得更远(在切换到新的groovy版本之前).我喜欢jimwhite扮演devil Advocatei的方式。现在很难为变量“trait”选择一个新名称,根据Java代码风格的最佳实践,有什么更好的方法?