BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Sonar 2.4:架构约束规则与Maven 3支持​

| 作者 Srini Penchikala 关注 34 他的粉丝 ,译者 丁雪丰 关注 3 他的粉丝 发布于 2010年12月22日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

开源代码质量管理工具Sonar的最新版本支持Java项目的架构约束规则和自定义​仪表盘​。​SonarSource团队上个月发布了Sonar 2.4,新版本中有四项主要特性。

架构规则:架构约束规则允许开发者定义​基于模式的规则​,拒绝不同包中类之间的引用​。​模式的例子包括拒绝从*.dao.*类中访问*.web.*,或者决绝在任何类中​访问java.util.Vector、java.util.Hashtable和java.util.Enumeration。当项目源代码​遵循一组架构约束时,会用架构模型进行编译,使用该规则需要Java字节码分析​。​

自定义仪表盘:Sonar用户现在可以为公司内的不同​利益相关人(例如管理者、开发者等)创建并定制仪表盘。定制的过程包括选择一个布局、添加组件和放置组件。管理员可以和所有用户分享仪表盘,选择默认显示的仪表盘。今后的Sonar工具将会包含新的仪表盘组件​,基于用户角色来访问项目仪表盘。​

更新中心:可以使用新的更新中心来安装与升级插件。用户还可以从中获取已安装插件的信息、验证兼容性、检查Sonar新版本和自动管理插件兼容性矩阵

新版本的Sonar还支持使用Maven 3来构建应用程序、进行代码分析。InfoQ就Sonar的新特性采访了Sonar团队的Olivier Gaudin。​

InfoQ:架构规则下一步会做怎样的增强?

在这个初始版本中,架构规则引擎已经提供了定义简单规则的能力,例如“类/包A不应该用在类/包B中”。它自然进化的结果就是能通过DSL来表达复杂的规则,以此来定义架构层,举个例子:只有层B或层C能使用层A。Sonar中加入了这个功能后,需要使用外部工具来监控设计的情况就很少了。

InfoQ:Sonar项目今后的线路图是如何规划的?

我们的主要目标是让平台能完整支持持续检查(Continuous Inspection)​的各个方面​,提供开发团队度量的能力,以此管理技术债务。我们识别了3个领域,下一步是​增强这方面的支持:​
  • 下一步,在Sonar 2.5中,当有冲突加入源代码时,会有更好的跟踪支持,仪表盘中会有不同视图。
  • 为平台添加手工代码审查能力,可以添加、抑制、注释和讨论质量缺陷。
  • 在sonar-eclipse插件中嵌入一个轻量级的Sonar,以便在代码提交SCM前进行代码审查。
与此同时,我们会继续使用SonarSource开发的解析技术来添加新语言,加强现有语言,比如向C和Cobol中添加新规则。

查看英文原文:Sonar 2.4: Architecture Constraint Rules and Maven 3 Support

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT