代码之家  ›  专栏  ›  技术社区  ›  Tom Tresansky

需要一个Java包依赖性分析工具

  •  1
  • Tom Tresansky  · 技术社区  · 15 年前

    是否有必要使用jdepend、ant contrib的verifydesign任务或任何其他类似的工具来运行包依赖性分析,这些工具使用黑名单而不是白名单?

    也就是说,我希望严格得多(至少在最初)。不指定包A只能依赖于B、C和K;包B只能依赖于Q、W和R等 每一个 在系统中打包,我想首先说:打包A绝对是 不能 与W和Y有任何联系,它做的任何其他事情我都可以。然后,随着时间的推移,我可以逐步为每个包添加完整的预期依赖项列表(a仅依赖于b、c、k),因为这些内容都是重构的。

    那么,是否存在这样一个工具?

    3 回复  |  直到 11 年前
        1
  •  1
  •   Chris Chedgey - Structure101    14 年前

    您可以使用结构101执行此操作 Architecture Diagrams 因为图表可以包含代码基的一个子集。在您的示例中,您可以在图中为a、w和y创建3个单元格,将w和y放在图中a的上方(依赖项只能向下流动,或者至少向上依赖项被视为“违反”图)。将w和y并排放置在a上方表示w和y之间不应该存在依赖关系。如果您不想限制w和y之间的依赖关系(然而),可以将它们合并到单个单元格中,并且不会检查相互依赖关系。将自动检查规则,您可以生成警告和/或错误(如果需要,请中断生成)。随着重构工作的进行,您可以逐渐将其添加到图中…

        2
  •  1
  •   duffymo    15 年前

    我可以做得更好:您可以在AspectJ AOP中表示这些内容,以便在运行时强制执行。”AspectJ in Action“向您展示了如何。

        3
  •  0
  •   Dean Hiller    11 年前

    验证设计可以不那么严格,因为您可以定义一个“wad”,也就是说,使它越来越严格。链接到一篇文章,其中包含有关遗留系统的文章(这通常违反了大量的预期设计)。

    http://www.devx.com/opensource/Article/33729/0/page/4