使用Deptrac清洁软件架构
如果您致力于对遗留代码进行现代化,那么您的目标之一可能是将代码分解。随着时间的推移,您希望创建一个具有清晰定义的依赖关系的清晰分离层的体系结构。
无论何时你在一个新项目中工作,你都试图从一开始就坚持一个干净的架构-但是功能堆积,最后期限迫在眉睫,在项目的后期阶段,重点从构建干净的代码转移到构建功能和修复错误。
在这两种情况下,提供一些指标的工具都有帮助——所以我们构建了一个!
Deptrac帮助您控制体系结构中各层之间的依赖关系。它让您深入了解这些依赖项的当前状态,并在引入新的不需要的依赖项时发出警告。
概述
Deptrac是一个小型CLI工具,可以集成到工具链中。单个YAML文件用于配置层和规则,尽管您可以利用多个配置文件来提供关于项目架构的不同视角。
层
首先配置您的层(如域模型和应用程序服务)以及如何将PHP类分配给它们。通常情况下,将FQCN与模式匹配就足够了,但是还可以使用更复杂的设置。
层配置完成后,Deptrac将能够呈现项目中层依赖关系的概述。我们可以使用Graphviz渲染点文件并显示它们,但是我们计划了更复杂的视图——例如,使用JS渲染视图交互式地深入到图形中。欢迎您的帮助!
规则
定义规则告诉Deptrac它发现的某些依赖项是否被允许,或者它们是否违反了你的层分离。如果Deptrac发现了一个违规,比如一个依赖于应用程序服务的低级模型,它将在输出中报告这些违规,并以错误状态退出。这意味着将Deptrac放入CI管道中可以提醒您有人向项目引入的任何不良依赖项。
从这里往哪里走
Deptrac已经有了好的文档欧宝官网下载app,所以请前往它的Github页面开始吧!我们也创建一个教程视频让你对Deptrac有个很好的了解。
Deptrac由蒂姆Glabisch在Sensiolabs团队的帮助下。它处于早期的alpha状态,所以我们感谢来自社区的任何测试和贡献!欧宝体育平台怎么样
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。