QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 2010-12-21
  • 本文字数:976 字

    阅读完需:约 3 分钟

开源代码质量管理工具 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:442871
用户头像

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

关注

评论

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

React-hooks面试考察知识点汇总

beifeng1996

React

面试官:深度不够,建议回去深挖

小傅哥

Java 程序员 面试 小傅哥 招聘

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

React-Hooks源码深度解读

goClient1992

React

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

水果成篮问题

掘金安东尼

算法 10月月更

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

【一Go到底】第十七天---函数的递归调用

指剑

Go golang 10月月更

Docker Swarm从部署到基本操作

程序员欣宸

Docker Docker Swarm 10月月更

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

react源码分析:实现react时间分片

flyzz177

React

Java三大特性(二)—继承

共饮一杯无

Java 继承 10月月更

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

架构实战训练营模块 2 作业

Geek_b35d92

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

React源码分析(一)Fiber

goClient1992

React

Java基础(八)| 常用API与StringBuilder详解

timerring

Java API 10月月更

一天梳理React面试高频知识点

beifeng1996

React

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

从源码角度看React-Hydrate原理

flyzz177

React

PriorityQueue 源码解析(三)

知识浅谈

Priority Queue 10月月更

大数据ELK(二十八):制作Dashboard

Lansonli

10月月更

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

Qt|QListWidget实现自定义Item效果

中国好公民st

c++ qt 10月月更

美团前端vue面试题(边面边更)

bb_xiaxia1998

Vue

react源码分析:深度理解React.Context

flyzz177

React

【LeetCode】可能的二分法Java题解

Albert

算法 LeetCode 10月月更

Sonar 2.4:架构约束规则与Maven 3支持​_Java_Srini Penchikala_InfoQ精选文章