• zenk
    2023-02-22 来自上海
    老师,业务组件的优先级,是不是复杂度低的优先? 我理解这样重构以后可能会降低复杂度高的业务组件

    作者回复: Hi,zenk。如果这里指的是重构的优先级。通常情况下得结合业务需求的迭代情况以及本身组件的耦合情况来综合判定。

    
    1
  • 稻草人的忧桑
    2023-03-26 来自安徽
    dependency的依赖分析,单例是不是分析不出来

    作者回复: Hi,何敬。dependency分析工具主要是分析依赖的,如果想扫描单例可以考虑用其他的代码扫描工具。

    共 2 条评论
    
  • 永远年轻
    2023-03-18 来自浙江
    答案是使用 Dependency Validation 功能检查代码。具体来讲就是点击 Edit Rule,使用正则表达式配置约束条件,从而扫描代码中不符合规则的异常依赖。就像后面图里展示的这样,我们配置消息组件不能依赖文件和账户组件。 ====== 能详细讲下上述提到「正则表达式」吗

    作者回复: Hi,评论这里不好放截图。通常来说都是在IDE使用界面直接操作定义的。在.idea目录下会生成对应的配置文件。下面我贴一下示例。 文件模块Scope定义: <component name="DependencyValidationManager"> <scope name="file" pattern="src[Sharing.app.main]:com.jkb.junbin.sharing.feature.file.*" /> </component> 约束规则: <component name="DependencyValidationManager"> <state> <deny_rule from_scope="file" to_scope="message" is_deny="true" /> </state> </component>

    
    
  • MrsLEO
    2023-03-03 来自广东
    archunit支持kotlin项目么

    作者回复: Hi,MrsLEO。支持的,后续的重构改造也会有kotlin代码。

    
    
  • 3.141516
    2023-02-23 来自上海
    老师好,ArchUnit只能找到当前module的包吗,其他module可以找到吗

    作者回复: 可以找到的,下一篇会有详细的使用介绍,你可以参考一下具体的用法。

    
    
  • peter
    2023-02-22 来自北京
    请教老师几个问题: Q1:“层”、“片”是什么? ArchUnit部分,提到“还可以检查包和类、层和片之间的依赖关系”,这里的“层”和“片”是什么?“层”可能是指分层,那么“片”是什么? Q2:类依赖分析API的例子中,为什么只有一个类的名字X? 类依赖,必然有两个类,应该有两个名字,但此处为什么只有一个名字X? Q3:Jekens也能用于移动端吗? 我了解一点后端,印象中Jekens是用于后端的,安卓端也可以用吗? Q4:找不到Dependency Validation. AS2021,code - Analyze code - Dependencies,没有找到配置规则的界面。文中说“点击EditRule”,但我这里没有发现。 我是win10下用AS2021,

    作者回复: Hi,Peter。 Q1:层和片对应的是ArchUnit里面的Layer 及slices的api,具体的用法可以查看官网的介绍,https://www.archunit.org/use-cases。 Q2:这里是对的,应该还有另外一个类的名字Y,感谢反馈。 Q3:可以用于移动端。Jenkins只是一个构建的平台工具,与具体的语言及平台无关。 Q4:在Dependencies扫描结果上有一个小扳手🔧的图标就是EditRule。 期待你的再次留言🤝

    
    
  • Geek_6061ea
    2023-04-20 来自北京
    如果模块太多,添加了非常多的 xxx.xml 文件到 Scopes 文件夹下,这些 xml 都会展示在 Android Studio 最左边的 Project/Android 切换菜单栏里面,影响每个同学切换 Project/Android 的体验。有什么方法可以不展示在 Project/Android 切换菜单栏吗?
    
    