checkstyle 非法导入的建议包

Suggestioned packages for checkstyle illegal imports

我正在编写一个基于 Spring 的 java 网络应用程序。对于我可能添加到 illegalPkgs 导入声明的内容有什么建议吗?我刚刚将 javax.transaction.Transactional 添加到禁止列表中,因为它在我重构时搞砸了我不小心使用了 javax 中的 @Transactional 注释而不是 Spring 中的注释,它破坏了我的 JPA 交易。寻找其他包或特定 类 我应该主动禁止!

到目前为止我有什么

<property name="illegalPkgs" value="sun, java.sql, java.awt, javax.swing, javax.transaction.Transaction"/>

除了默认的 sun 或者,为了清楚起见,有些人更喜欢 com.sun,sunIllegalImport 检查主要用于检查项目特定的规则。

例如,如果您想确保每个人都使用 log4j 作为日志记录框架,您可以将 java.util.logging,org.apache.commons.logging 添加到列表中。可能更多,因为这取决于您对传递依赖项的控制程度。

另一个例子是,如果你想将反射的使用限制在代码库的某些部分,你可以添加 java.lang.reflect,org.reflections.

仅使用 IllegalImport 不会给您带来太多好处。您可能还需要进行其他检查,例如 IllegalTypeIllegalInstantiationImportControl。一般来说,为此使用 Checkstyle 无论如何都不是灵丹妙药。