写点什么

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

2010 年 12 月 21 日

开源代码质量管理工具 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

2010 年 12 月 21 日 05:442275
用户头像

发布了 135 篇内容, 共 50.7 次阅读, 收获喜欢 30 次。

关注

评论

发布
暂无评论
发现更多内容

Docker内部组件

混沌畅想

Docker 容器 运维

JMM 应用实例:单例模式

朱华

单例模式

mongodb源码实现系列-网络传输层模块实现二

杨亚洲(专注mongodb及高性能中间件)

MySQL 数据库 mongodb 高性能 分布式数据库mongodb

让“物”能说会道,揭晓华为云IOT黑科技

华为云开发者社区

物联网 华为云

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

奈学教育

奈学教育 程序员节

这个应用魔方厉害了,让软件开发者效率提升10倍

华为云开发者社区

软件开发 代码

配置企业应用业务流程别头大,有工作流引擎就不怕

Marilyn

敏捷开发

中台架构下的DDD和落地实践

高鹏

业务中台 DDD 领域驱动模型DDD 中台架构 中台架构 DDDplus

区块链数字货币交易所开发,交易系统搭建方案

WX13823153201

iOS touch事件点的获取

teoking

ios

JVM系列笔记 - 虚拟机栈

朱华

JVM

一文带你掌握Redis操作指南

华为云开发者社区

数据库 存储

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(五)

陈泽云

人工智能 数据库 大数据 操作系统

架构师训练营第 1 期 - 第 5 周 - 作业

wgl

极客大学架构师训练营

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

古月木易

奈学教育

文石BOOX Note Air与掌阅iReader Smart2 该怎么选?

Geek_459987

广东USDT支付系统开发服务商,区块链跨境支付

135深圳3055源中瑞8032

区块链合约跟单系统开发价格,合约API跟单

135深圳3055源中瑞8032

一文快速入门分库分表中间件 Sharding-JDBC (必修课)

程序员内点事

Java 分库分表

架构师训练第五周 -编程语言实现一致性 hash 算法

郎哲158

使用Hugo和GitHub搭建博客

Félix

GitHub GitHub Pages Blog Hugo

算法图解:如何用两个栈实现一个队列?

王磊

Java 数据结构 算法和数据结构

前端科普系列(5):ESLint - 守住优雅的护城河

vivo互联网技术

Java 前端 代码仓库

两个程序员老友的会面

Learun

敏捷开发

暂存图片

而立

区块链数字货币钱包开发,多币种钱包APP

135深圳3055源中瑞8032

架构师训练营第一期 - 第五周学习总结

卖猪肉的大叔

独家揭秘 | 京东物流Elasticsearch大规模“迁移上云”实践

京东智联云开发者

云计算

iOS性能优化 — 三、安装包瘦身

iOSer

ios 性能优化 编程语言 ios开发 安装包瘦身

交易所开发需要多少钱?区块链交易所开发

135深圳3055源中瑞8032

标准的开发框架,对企业开发有多重要?

Philips

敏捷开发

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

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