java开发者工具开源版_JArchitect对Java开源贡献者免费

java开发者工具开源版

JArchitect是用于Java代码库的静态分析工具,它提供交互式GUI和HTML报告,用于查找代码中过于复杂或有问题的区域,执行分析以重构并比较随时间的变化。 在版本3中,添加了类似LINQ的查询语言,该工具使该工具成为功能极为强大的报告引擎,可用于在构建系统上强制执行编码标准规则。 以下是一些有用的JArchitect功能:

重庆

JArchitect的强大功能是对代码查询Linq(CQLinq)的支持。 CQLinq允许开发人员使用LINQ查询来查询Java代码,

例如CQlinq可以回答以下请求:

–哪些方法创建特定类的对象?

从m.CreateA(“ MyPackage.MyClass”)中选择m的方法中的m

-哪些方法分配特定字段?

从方法中的m中,其中m.AssignField(“ MyNamespace.MyClass.m_Field”)选择m

-哪种复杂的方法不够评论?

从Application.Methods中的m中获得,其中m.CyclomaticComplexity> 15 && m.PercentageComment <10。选择新的{m,m.CyclomaticComplexity,m.PercentageComment}。 当CQLinq查询返回特定结果时,也会自动向您发出警告。 例如,我不希望我的用户界面层直接依赖于数据库层:

warnif count > 0

从包中的p中,其中p.IsUsing(“ DataLayer”)&&(n.Name == @“ UILayer”)选择p

JArchitect提供了与您的代码组织,代码质量和代码结构相关的80多个指标。 这些指标可以在CQLinq中用于创建您的编码自定义规则,JArchitect可以集成到您的构建系统中以增强代码库的质量。

依赖图

依赖关系图对于探索现有代码库非常有用,我们可以进入任何项目,程序包或类,以发现代码元素之间的依赖关系。

照片1

依赖矩阵

DSM(依赖性结构矩阵)是一种表示和导航组件之间依赖性的紧凑方法。

image2

为什么使用图形和DSM这两种不同的方式表示相同的信息? 因为有一个
交易:

  1. 图更加直观,但是当节点和边的数量增加时,这是完全无法理解的(几十个框就足以使图太复杂)
  2. DSM不太直观,但可以非常有效地表示大而复杂的图形。 我们说DSM规模与图表相比。

公制视图

在“度量标准视图”中,代码​​库通过树形图表示。 树映射是一种通过使用嵌套矩形来显示树结构数据的方法。 JArchitect树图中使用的树结构是通常的代码层次结构:

  • Java项目包含软件包
  • 套餐包含类型
  • 类型包含方法和字段

在树形图中,矩形代表代码元素。 选项级别确定由单位矩形表示的代码元素的类型。 选项级别可以采用5个值:项目,包,类型,方法和字段。 下面的两个屏幕截图显示了相同的代码库,分别通过左侧的类型级别和右侧的名称空间级别表示。

image3

如果当前正在编辑CQLinq查询,则查询匹配的代码元素集在树状图中显示为一组蓝色矩形。 直观地查看特定CQLinq请求所涉及的代码元素非常有帮助。

比较版本

在软件开发中,产品不断发展。 因此,开发人员和架构师必须注意对代码库的修改。 现代的源代码存储库处理增量开发。 他们可以枚举2个版本的源代码文件之间的差异。 JArchitect可以告诉您在2个内部版本之间进行了哪些更改,但它不仅仅具有简单的文本比较功能。 它可以区分注释更改和代码更改,添加/删除的内容和刚刚修改的内容。 使用JArchitect,您可以查看代码量度如何变化,并且可以知道组件之间的耦合是否在增加。 JArchitect还可以不断检查修改,以​​在兼容性发生重大变化时立即警告您。

生成自定义报告

JArchitect可以通过JArchitect.Console.exe分析源代码和Java项目。 每次分析代码库时,JArchitect都会生成一个报告,该报告可以告知您开发状态。 您可以自定义报告中显示的部分,甚至可以提供自己的XSL工作表以进行完全自定义。 您还可以构建自己的CQLinq约束集,将在每次分析时进行检查。 每当违反约束条件时,该报告都会警告您。 此功能使自动设计和质量回归测试成为现实。

JArchitect为所有开源Java贡献者提供了专业许可 分析他们的代码库可能很有用。 因此,如果您想尝试一下,请在此处查看更多详细信息。 编码愉快!

翻译自: https://www.javacodegeeks.com/2013/03/jarchitect-became-free-for-java-open-source-contributors.html

java开发者工具开源版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有没有查计算机组成的答案得,计算机组成答案.doc

黄淮学院计算机科学系2008—2009年第二学期2007级《计算机组成原理》期终试卷(A)参考答案及评分标准命题人&#xff1a;王晓涓注意事项&#xff1a;本试卷适用于2007级软件工程专业本科学生使用一、单项选择题(每题1分、共15分)1、B 2、B 3、A 4、D 5、A 6、D 7、D 8、C 9、C 1…

使用JDK 8将收藏转换为地图

我多次遇到这样的情况&#xff0c;希望将多个对象存储在Map中而不是Set或List中&#xff0c;因为将唯一标识信息的Map应用于对象有一些优势 。 Java 8使用流和Collectors.toMap&#xff08;…&#xff09;方法使翻译变得比以往更加容易。 使用Map而不是Set的一种有用情况是&am…

计算机上没有启动程序怎么办,Win7开机不加载启动项怎么办

现在的电脑为了受到更好的保护&#xff0c;往往在开机的时候就加载了一些启动项&#xff0c;如&#xff1a;杀毒软件&#xff0c;安全卫士等等。可有时候会发现&#xff0c;在Win7操作系统中&#xff0c;安装后发现不能开机加载启动项。在注册表中&#xff0c;在msconfig中&…

车牌识别与计算机编程,基于计算机视觉的车牌字符识别技术的研究

摘要&#xff1a;车牌识别系统是现代智能交通管理系统的核心组成部分,是图像处理、神经网络和模式识别等技术的综合应用。 本文介绍了车牌识别系统的一般构成,包括车牌图像预处理、车牌字符分割和车牌字符识别等三个重要组成部分,并分别进行深入研究。 车牌图像预处理方面,针对…

线程同步,线程不同步_重新同步多线程集成测试

线程同步,线程不同步我最近在Captain Debug的Blog上偶然发现了一篇文章“ 同步多线程集成测试 ”。 那篇文章强调了设计涉及异步运行业务逻辑的被测类的集成测试的问题。 给出了这个人为的示例&#xff08;我删除了一些评论&#xff09;&#xff1a; public class ThreadWrapp…

用户需求测试软件,用户需求和软件需求的区别

原标题&#xff1a;用户需求和软件需求的区别一些刚实施GJB5000A组织的开发人员&#xff0c;不是很理解软件研制任务书和软件需求规格说明的区别。这里再次解读下这个问题。软件研制任务书就是用户需求&#xff0c;而用户需求是从用户的角度&#xff0c;用用户熟悉的语言进行描…

在Java中使用可信时间戳

受信任的时间戳记是使受信任的第三方&#xff08;“时间戳记权威”&#xff0c;TSA&#xff09;以电子形式证明给定事件的时间的过程。 欧盟法规eIDAS赋予了这些时间戳合法的力量-即&#xff0c;如果事件带有时间戳&#xff0c;则没有人可以质疑事件的时间或内容。 它适用于多种…

无限滚动重置服务器,简单无限滚动的实现

在使用elementUI组件库的时候&#xff0c;用到了无限滚动这个功能。我没有看源码&#xff0c;直接在网上学习了下实现的思路&#xff0c;然后自己手动编码以下。在此总结下。假设页面上有一个盒子容器&#xff0c;容器内有一些子元素。容器的高度是固定的&#xff0c;有纵向滚动…

java配置openjdk_Java大新闻不断涌现:Java SE 6和OpenJDK

java配置openjdk我最近公布的最新的Java 8新闻 &#xff0c;总结了一些最近的事态发展中的Java 8 。 自从发布该文章不到一周&#xff0c;就发布了更多重要的Java新闻报道&#xff0c;我在本文中总结了其中的一些内容。 共同的主题包括不同的Java SE 6实现和OpenJDK 。 Java安…

Fatjars,Thinwars以及为什么OpenLiberty很酷

法特哈斯 构建一个Fatjar&#xff08;或Uberjar&#xff09;&#xff0c;其中包含将应用程序很好地打包在一起运行所需的一切&#xff0c;这意味着您可以&#xff1a; java -jar myapp.jar然后离开。 没有应用程序服务器。 没有类路径。 这种方法已经被诸如Springboot之类的微…

Spring Cloud Config Server简介

1.概述 在本教程中&#xff0c;我们将回顾Spring Cloud Config Server的基础知识。 我们将设置一个Config Server &#xff0c;然后构建一个客户端应用程序 &#xff0c;该客户端应用程序在启动时会消耗配置 &#xff0c;然后刷新配置而不重新启动。 我们正在构建的应用程序与《…

朴素贝叶斯算法实现分类以及Matlab实现

开始 其实在学习机器学习的一些算法&#xff0c;最近也一直在看这方面的东西&#xff0c;并且尝试着使用Matlab进行一些算法的实现。这几天一直在看得就是贝叶斯算法实现一个分类问题。大概经过了一下这个过程&#xff1a; 看书→算法公式推演→网上查询资料→进一步理解→搜…

编写自定义的AssertJ断言

AssertJ是广泛使用的Hamcrest匹配器的替代匹配库。 实际上&#xff0c;对于我自己的项目&#xff0c;我已经更改为仅使用AssertJ-我只是发现流畅的界面和可扩展性非常吸引人。 您可以编写自定义断言&#xff0c;如下所示&#xff1a; 想象一下一种具有强度和饮料类型的咖啡 &…

LintCode-A + B 问题

文章转载 http://blog.csdn.net/wangyuquanliuli/article/details/47755461 给出两个整数a和b, 求他们的和, 但不能使用 等数学运算符。 您在真实的面试中是否遇到过这个题&#xff1f; Yes样例 如果 a1 并且 b2&#xff0c;返回3 注意 你不需要从输入流读入数据&#xff0c;…

位操作基础篇之位操作全面总结

转载自 http://blog.csdn.net/morewindows/article/details/7354571 Title: 位操作基础篇之位操作全面总结 KeyWord: C/C 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试 位操作篇共分为基础篇和提高…

机器学习中的算法-支持向量机(SVM)基础

机器学习中的算法-支持向量机(SVM)基础 版权声明&#xff1a; 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用&#xff0c;但请注明出处&#xff0c;如果有问题&#xff0c;请联系wheeleastgmail.com。也可以加我的微博: leftnotea…

使用JDK 8轻松进行细粒度排序

Java的8的推出流和有用的静态 / 默认的方法比较接口可以很容易地根据个人的领域两个对象比较“值&#xff0c;而不需要实现一个比较&#xff08;T&#xff0c;T&#xff09;在其对象的类方法被比较。 我将使用一个简单的Song类来帮助演示这一点&#xff0c;接下来显示其Song.j…

主成分分析以及应用:企业综合实力排序

这段时间一直在学习数据挖掘的一些算法&#xff0c;今天通过不断查阅资料&#xff0c;学习整理了一下主成分分析这个数据降维算法。并且结合一个实例进行matlab编程实现。 主成分基本原理 在数据挖掘中&#xff0c;经常会遇到一个问题就是一个问题出现了n多个变量&#xff0c;…

自定义MongoDB的Spring Social Connect框架

在上一篇文章中 &#xff0c;我谈到了我面临的第一个挑战是更改数据模型并添加连接框架。 在这里&#xff0c;我想提供有关我如何做的更多详细信息。 Spring Social项目已经提供了基于jdbc的连接存储库实现&#xff0c;以将用户连接数据持久保存到关系数据库中。 但是&#xff…

算法题:输入aaaabbbcccccc输出a4b3c6。

今日在地铁上浏览今日头条的时候看到这么个小题目&#xff0c;说是输出一长串字符串&#xff0c;输出字母串类别并且统计其出现次数&#xff0c;然后按照顺序将其输出来。例如输入aaaabbbcccccc&#xff0c;输出a4b3c6。 最近也一直在学习&#xff0c;所以就想着就Matlab来试了…