gpt4 book ai didi

java - 防止内部泄漏到 API

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:10 25 4
gpt4 key购买 nike

我正在寻找不同的方法来防止内部信息泄漏到 API 中。这是一个大问题,因为一旦这些内部结构泄漏到 API 中;您可能会遇到意想不到的不兼容问题或卡住的内部结构。

最简单的方法之一就是使用不同的 Maven 模块;一个带有 API 的模块和一个带有实现的模块。这样就不可能从 API 公开实现。

不幸的是,并不是每个人都同意这是最好的方法;但是还有其他选择吗?例如,使用 checkstyle 或其他“架构检查”工具?

PS:Java 9 对我们来说是无法使用的,因为我们即将升级到 Java 8,这将是 future 相当长一段时间内支持的最低版本。

最佳答案

按照您的 checkstyle 想法,应该可以设置检查源文件中导入语句的规则。

Checkstyle 内置了对此的支持,特别是 IllegalImportImportControl规则。

如果公共(public)类和内部类可以很容易地用包名分开,这当然效果最好。

IllegalImport 的想法是您在 checkstyle 中配置一个 TreeWalker,它只查看您的 API 源,并且不包括来自内部包的导入。

另一方面,使用 ImportControl 规则,您可以在单独的 XML 文件中为整个应用程序/模块定义非常详细的访问规则。

关于java - 防止内部泄漏到 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44494915/

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