gpt4 book ai didi

java - 注释顺序重要吗?

转载 作者:行者123 更新时间:2023-12-01 14:17:23 25 4
gpt4 key购买 nike

如您所知,注释驱动的编程越来越多地融入我们现在使用的大多数框架(即 Spring、Lombok 等)中。

此外,我们有时需要创建自定义注释。 (例如,使用方面记录给定类的所有公共(public)方法的进入/退出跟踪 - @LogAroundMethods)

因此,给定的类可以包含大量注释。

@LogAroundMethod // My custom annotation
@Slf4j // Lombok annotation
@Component // Spring annotation
public class ClientNotificationProxy {
//Code
}

@LogAroundMethod // My custom annotation
@Configuration // Spring annotation
@ConditionalOnClass(NotificationSender.class) // Spring annotation
@EnableConfigurationProperties(MessagingProperties.class) // Spring annotation
@Import({ MongoConfiguration.class, SpringRetryConfiguration.class }) // Spring annotation
public class StarterClientAutoConfiguration {
// Code
}
  • 推荐的注释顺序是什么?
  • 特定订单是否有任何影响或好处?
  • 最佳答案

    在几乎所有情况下,答案都是否,订单无效。

    但实际上它有点复杂。

  • 考虑到注释处理器处理的注释,其他答案中已经说明它更多地取决于处理器运行的顺序。但是,处理器可以访问 AST,这允许它们确定源代码中注释的顺序。所以理论上注释处理器可以使生成的代码依赖于顺序,但我不知道这方面的任何例子,并称之为不好的做法。
  • 在运行时获取元素的注释时,您还可以访问订单。 The docs了解有关如何确定订单的更多信息。同样,实现可以使其行为依赖于顺序。
    我会再次考虑这种不好的做法。唯一的异常(exception)可能是可重复的注释,我可以想到这可能是合理的用例。

  • 如果对注解的顺序有任何依赖,这不太可能,这应该在注解的 JavaDoc 中说得很清楚。

    因此,通常您可以随意订购它们。我不知道任何关于注释顺序的样式指南,所以请让它对你合理。

    关于java - 注释顺序重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59582135/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com