最近我读到一篇关于Java注解的文章,其中提到了@Generated注解。据说它用于自动生成代码。
有人能用一个简单的例子进一步解释一下吗?
我在网上找到的都是一些专业问题,或者超出我需要的范围。
根据JavaDoc:
Generated注解用于标记已生成的源代码。它还可以用于区分单个文件中的用户编写代码和生成的代码。
@Generated
是由元程序(如Auto/Value)使用的,它们会生成源代码,因此您不必手动编写代码。如果您正在手动编写.java
文件(通常是这样做的),请不要使用@Generated
。
举个例子,在生成的代码和手写代码之间,存在好的和坏的边界策略。我认为,在编译(静态)语言和解释/动态语言中,思考方式是不同的。
最糟糕的情况是修改生成的代码(下一次生成时将会丢失,或者下一代将被禁止)。通常接受从生成的类派生(手动)类,或者生成扩展核心“手动”类的类。
如果有人知道这个领域的良好策略,请评论。