有没有为模式维护注解的项目?
例如,当我编写构建器时,我想用@Builder
标记它。
以这种方式进行注释可以立即清楚地了解代码实现了什么。此外,@Builder
注释的Javadoc可以引用构建器模式的解释。此外,通过使用@Builder
注释@Builder
,可以轻松地从构建器实现的Javadoc导航到@Documented
Javadoc。
我一直在缓慢地为我的代码中的模式和习惯用法积累一小部分这样的注释,但我希望利用一个更完整的现有项目(如果存在的话)。如果没有这样的项目,也许我可以通过将其剥离到一个单独的模式/习惯用法注释项目来分享我所拥有的内容。
更新:为了响应这次讨论,我创建了Pattern Notes project。欢迎投稿!这是@Builder
发布于 2008-09-24 15:03:15
在我看来,这似乎是对注释的滥用。当然,我可以理解为什么你可能想要注意一个类正在帮助实现什么设计模式,但是仅仅使用Javadoc和/或类名似乎更合适。您正在使用的模式的名称对代码本身并不重要……模式只是解决问题的常用方法的指南。注释就足够了,而不是为您使用的每个模式创建一个新文件。
发布于 2010-07-28 14:33:14
Michael Hunger和我已经启动了一个开源项目,用于注解,以指定类属于什么模式。我们正处于开始阶段,但希望听到您的意见。
为了让人们尽可能容易地使用注解,我想使用KISS原则。例如,如果您正在编写适配器,您可以简单地说:
@AdapterPattern
public class EnumerationIteratorAdapter<T> implements Enumeration<T> {
...
}
当然,如果需要,您可以指定更多信息,例如角色、参与者和注释。我们希望这将使开发人员很容易清楚地标记他们的类。
项目主页位于http://www.jpatterns.org上,您还可以从该位置访问初始源码树。如果你想为这个项目做贡献,请在heinz上通过javaspecialists eu与我联系。
Heinz ( Java专家通讯)
发布于 2009-12-04 05:56:42
更好的做法是使用注释来实际构建Builder的样板。让我们面对它,大多数都是相当标准的。
@Builder("buildMethodName")
Class Thing {
String thingName;
String thingDescr;
}
典型用法:
Thing thing =
new Thing.Builder().setThingName("X").setThingDescr("x").buildMethodName();
https://stackoverflow.com/questions/127411
复制相似问题