AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

代码质量管理工具 Sonar 提供了设计与架构度量

  • 2010-06-03
  • 本文字数:1073 字

    阅读完需:约 4 分钟

近日,新版的开源代码质量管理工具 Sonar 提供了设计与架构度量。Sonar 2.0 引入了针对 Java 应用的设计分析、架构与面向对象的度量,而前不久发布的 Sonar 2.1 可以检测到未使用的方法以及对不建议使用方法的调用。

架构度量特性包含一个叫做 Dependency Structure Matrix( DSM )的全新可视化工具,它可以表示组件之间的依赖并在其中导航,能够通过去掉不必要的依赖来移除包间的循环,还能识别出拥有太多职责的类(这违背了单一职责模式)。面向对象度量包含了 Chidamber & Kemerer 度量,比如 Depth of Inheritance Tree(DIT)、Number of Childre(NOC)、Response for a Class(RFC)、Afferent/Efferent Couplings(CA/CE)以及 Lack of cohesion in methods(LCOM)。最新版的 Sonar 还基于 Squid 引入了一个全新的规则引擎、Sonar 解析器既可以处理源代码,也可以处理字节码,解析器带有内建的规则,可以检测未使用的私有与保护方法以及客户端对不建议使用的方法的调用。Squid 通过分析应用源代码、Java API 和外部程序库的字节码来决定哪些方法、类和属性是不建议使用的。Sonar 2.1 的新特性还有:

  • 一个全新的“ Libraries ”页面,显示了项目中所有的程序库和依赖,该特性要求使用 Maven 来构建项目。一旦在 Sonar 站点的主页上选择了一个项目,该服务就会以可视化的树形结构展示出项目依赖。此外,还有一个可选的动态过滤器,可以根据名称过滤程序库以便在应用的依赖间导航。
  • 用于搜索程序库使用情况的“Dependencies”页面。比如说,可以搜索到使用了第三方框架如 Commons Logging 1.1 的所有项目。
  • 可以使用各种插件扩展 Sonar 的功能。现在有一个全新的“System Info”页面显示了系统属性、已装插件和 Java 虚拟机内存统计信息。该页面还给出了关于 Sonar 配置和数据库统计的详细信息。
  • 一个用于管理已装插件和系统信息的管理控制台。

最新版的 Sonar 为这些插件引入了一个测试框架和一个客户化的 Maven 生命周期管理工具。它还带有一个用于集成项目事件的 Web Service 并在项目的 size widget 中增加了一个新的度量模块。

Sonar 团队的 Freddy Mallet 撰写了一篇文章,谈到了如何使用新版的 Sonar管理包间的循环以及如何在类层次上重新设计。Sonar 开发团队正忙于开发一个Eclipse IDE插件并于上个月发布了0.1 版。感兴趣的读者朋友可以看看 Project Nemo ,这是 Sonar 的一个在线版本,它给出了很多开源项目的代码分析统计结果,这些项目有 Apache Commons frameworks、Apache Tomcat、Struts2 和 Esper 等等。

查看英文原文: Code Quality Management Tool Sonar Provides Design and Architecture Metrics

2010-06-03 02:466252
用户头像

发布了 88 篇内容, 共 267.3 次阅读, 收获喜欢 8 次。

关注

评论

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

2025年睡眠展|2025广州国际睡眠家居产品展会

秋硕展览

一年做一次,一次做半年,《DevData 2025研发效能基准报告》再度起航!

思码逸研发效能

研发效能 研发效能度量 研发效能管理 思码逸

2025 年最值得关注的 8 大数据复制工具

tapdata

灾备 数据复制 实时数据 数据复制工具 fivetran

【Abyss】Android平台BPF和SECCOMP的SVC指令拦截

iofomo

android 虚拟化技术 拦截

请查收| 京东零售技术AI领域前沿探索-10篇顶会论文合集

京东科技开发者

WebAssembly视频检测在社区创作平台的落地与实践 | 得物技术

得物技术

算法 前端

请查收| 京东零售技术AI领域前沿探索-10篇顶会论文合集

京东零售技术

让万物「听说」:AI 对话式智能硬件方案和发展洞察

声网

AI口语练习APP的性能优化

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

如何查看商品销量 API 接口的性能指标数据

科普小能手

数据挖掘 数据分析 电商 解决办法 API 接口

少儿英语系统(源码+文档+部署+讲解)

深圳亥时科技

培训讲师管理系统(源码+文档+部署+讲解)

深圳亥时科技

Locks, Actors, And Stm In Pictures

werbenhu

actor

热更新适配ibatis原理浅析

京东科技开发者

2025春招,Spring 面试题汇总

威哥爱编程

spring spring 面试题

2025年深圳国际新能源电池及电池材料展会

秋硕展览

AI口语练习APP的场景测试

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

AI口语陪练APP的关键技术

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI口语学习

请查收| 京东零售技术AI领域前沿探索-10篇顶会论文合集

京东科技开发者

火语言RPA--图鉴打码

火语言RPA

AI口语评测APP上线注意事项

北京木奇移动技术有限公司

软件外包公司 AI口语测试 AI英语学习

广告发布平台(源码+文档+部署+讲解)

深圳亥时科技

搜索技巧的逆袭:在AI统治的世界中寻找价值10分钟让你成为信息获取高手,效率提升300%!6个月构思,10天撰写(上)

AI决策者洞察

人工智能’ Prompt coze

Kmesh v1.0正式发布!7大特性提升网络流量管理效率和安全性

华为云开发者联盟

云原生 华为云 服务网格 Kmesh

1688店铺所有商品列表接口系列(1688 API)

tbapi

1688API 1688店铺所有商品接口

一种轻量分表方案-MyBatis拦截器分表实践

京东科技开发者

人工智能在音频、视觉、多模态领域的应用

测试人

人工智能 软件测试

人工智能丨视觉识别在自动化测试中的应用

测试人

人工智能 软件测试

在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?

思码逸研发效能

DevOps 研发效能 研发效能度量 研发效能管理 思码逸

代码质量管理工具Sonar提供了设计与架构度量_Java_Srini Penchikala_InfoQ精选文章