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可以集成到您的构建系统中以增强代码库的质量。

依赖图

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

依赖矩阵

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

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

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

公制视图

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

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

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

如果当前正在编辑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开发者工具开源版

java开发者工具开源版_JArchitect对Java开源贡献者免费相关推荐

  1. java开发者工具开源版_开源工具如何帮助飓风受害者

    java开发者工具开源版 在哈维飓风最近横扫休斯顿地区并造成灾难性的洪水和破坏之后, 斯蒂芬·奥斯汀社区卫生网络 (SFA)Swift采取了对策,利用开源技术来覆盖德克萨斯州受灾地区的患者和危机受害者 ...

  2. java开发者工具开源版_6种开源工具可帮助教育工作者保持井井有条

    java开发者工具开源版 在过去的几年中,选择流行资源解决方案的开源替代方案的大学和学校数量大大增加. 我们经常听到有关采用OpenOffice或LibreOffice替代Microsoft Offi ...

  3. 微信开发者工具官方版

    微信开发者工具官方版 https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

  4. linux电视浏览器下载软件,【UC浏览器开发者工具Linux版】UC浏览器开发者工具下载 v0.4.1 Linux版-趣致软件园...

    UC浏览器开发者工具Linux版是一款专门针对UC浏览器开发者版本所推出的调试工具,这款软件完美兼容DevTools Protocol,因此用户无需再搭配其它工具便可以快速有效的完成调试工作.除此之外 ...

  5. java控制工具下载_Maven下载|Maven(java项目管理工具)v3.3.9官方版-ucbug软件站

    Maven是一个java项目管理工具.它基于项目对象模型(POM)的概念,可以从中央信息中管理项目的构建.报告以及文档.它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统和用来 ...

  6. Java开发者福音,阿里巴巴宣布连任Java全球管理组织席位!

    最受开发者欢迎的Java有了新动态.11月23日,阿里巴巴宣布连任Java 全球管理组织JCP最高执行委员会委员,任期从2018年12月4号开始,为期两年.这意味将有更多中国开发者的声音被引入 Jav ...

  7. 2020 Java开发者数据分析:中国已成为 Java 第一大国

    最近知名开发工具供应商Jetbrains在Java 25周年之际,对开发群体做了一次有意思的数据分析. 全文内容可见:https://blog.jetbrains.com/idea/2020/09/a ...

  8. 历史 微信开发者工具_微信开发者工具PC版-微信开发者工具下载v1.03.2010240-IE浏览器中文网站...

    微信自成一个生态,微信开发者工具让用户能够自行设计自己的小程序界面.添加各种需要的功能,软件相对比较容易上手,可以与公众号对接,提升流量. 功能介绍 菜单栏 微信web开发者工具 切换帐号:快速切换登 ...

  9. 禅道开源版用户手册_Docker搭建开源版禅道以及项目基本流程介绍

    对于自学软件测试的同学来说,经常会遇到这样的困惑: 测试用例怎么写? 有啥好的模板? 缺陷提交的模板是什么样的? bug的生命周期是啥? 项目的流程是啥? 以上这些困惑,在你仔细看完这篇文章后,都能找 ...

最新文章

  1. 8.Map集合(HashMapTreeMap)
  2. java配置出现的问题解释_java SE问题总结(持续更新。。。)
  3. solaris系统关闭服务器,solaris系统中关闭和开启系统服务ftp,telnet,ssh,sendmail...
  4. java 系统音量案例_android 实现手机音量的控制 实例源码
  5. mac电脑快捷键(持续更新)
  6. 【Jmeter篇】Linux环境下安装部署运行Jmeter
  7. MySQL的binlog
  8. CF618F Double Knapsack 构造、抽屉原理
  9. LeetCode 424. 替换后的最长重复字符(双指针+滑动窗口)
  10. 【Scratch算法讲解】01-Scratch选择排序 少儿编程Scratch常见排序算法案例分析讲解
  11. Entersekt欢迎Nicolas Huss加入董事会
  12. DOCTYPE声明——标准模式与怪异模式的区别
  13. 进程间的相互通讯 C++
  14. kettle 配置jndi数据源
  15. 基于BP神经网络算法的实现静态图片和视频人脸识别、性别识别
  16. 图像去噪,深度学习去噪,普通方法
  17. WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not
  18. 自动化学报- Teleoperation
  19. 关于我初赛的一些要背的东西 错题集
  20. 勒索软件、移动恶意软件攻击将在2020年激增

热门文章

  1. URL的getFile()和getPath()方法的区别
  2. Class的 getSuperclass与getGenericSuperclass区别
  3. win10操作技巧介绍,很实用!
  4. 新闻发布项目——实体类(categoryTB)
  5. #{} vs ${}
  6. RPC远程过程调用之Hessian 基于HTTP
  7. Ubuntu 免密登录
  8. 四种常见的 POST 提交数据方式对应的content-type取值
  9. 阿里云服务器 window server tomcat启动 并且关闭window防火墙 配置8080端口开放还是没用
  10. python下面的代码_解析一下下面的python代码?