【发布时间】:2012-06-04 16:40:52
【问题描述】:
我正在使用 TDD,并且有一个非常典型的编码模式,在我编写单元测试代码时使用 Eclipse 自动创建方法和字段。例如:
-
不存在的方法的类型名称,例如:
myObj.setValue(someValue); 点击IDE中的红色小错误标记,创建“setValue”方法。
-
在 setValue 方法中输入:
public void setValue(String value) { this.value = value; } 点击红色错误标记自动创建私有字段(本例中称为“值”);
所以在这一点上,我希望 Eclipse 自动创建 getter 方法,而不必使用 source -> generate getter and setter 菜单。
我看到了这个问题:How do you force Eclipse to prompt you to create a getter and setter when it doesn't do it automatically,这似乎暗示 Eclipse 会这样做,但我找不到在哪里配置它。
有没有办法配置 Eclipse 在添加新的私有变量时自动添加 setter/getter?
更新: 为了进一步澄清,我正在寻找我在Spring Roo 文档中看到的内容。如果您查看“工作原理”部分,它描述了框架如何在您添加私有变量时自动向您的类添加其他方法。 (但是,我的偏好是不运行另一个类似的进程,也不要得到它似乎添加的所有内容)。我希望 Eclipse 也有类似的东西。
【问题讨论】:
-
出于好奇,如果您使用 TDD,为什么要在需要之前创建 getter?但是如果你把光标放在 set 方法之后(或之前),写 get 然后 control-space 你应该得到一个关于 getter 的建议(不完全是你要求的)。
-
@RogerLindsjö:这实际上是一个好问题。主要答案是:我在我的 Preferences/Save Actions 中添加了“删除未使用的私有类型”的操作,所以当我保存时(当我运行单元测试看到它失败时会发生这种情况),Eclipse将删除我刚刚创建的字段(因为它尚未被引用),让我再次重新输入它。所以似乎最好的流程是在那一刻创建吸气剂。另外 - 通常我发现如果我创建一个 setter,我通常稍后需要 getter,所以无论如何我在创建 setter 时创建它似乎也是一个很好的约定。
-
这就解释了。也有这个设置,但不喜欢它,所以现在我将未使用的私有成员作为警告,并在提交之前将警告保持为零(但在工作期间接受它们)。