OO课程中IDEA相关插件的使用

写在前面

??由于OO课程博客作业的需要分析代码的复杂度并绘制UML图,但是课件上推荐的分析工具(http://metrics.sourceforge.net )经过自己几个小时的折腾还是没有安装成功,于是我最终决定转移阵地,也就是使用IDEA的相关插件。

IDEA安装

??这个就不再多说了,具体方法自行百度,但是要注意,下面提到的插件需要IDEA Ultimate版本,社区版不支持自动绘制UML图。

插件1:UML Support

??UML Support是IDEA Ultimate版本中自带的插件,Community版本不支持。我目前使用的IDEA 2018.1中已经默认开启,可以通过File->Settings->Plugins在其中的搜索框中搜索这个插件。可以右键项目中的包在右键菜单中选择Diagrams->Show Diagrams,就可以得到插件自动绘制的UML图,但是此时的UML还很简陋,可以通过上面的几个按钮来选择每个类显示的内容,以及各个类之间的关系以及展示时的层次结构,具体的使用方法还是大家自行探索吧。

插件2:MetricsReloaded

??MetricsReloaded是用来分析代码复杂度的插件。由于国内众所周知的原因以及最近校园网抽筋,无法直接从IDEA的File->Settings->Plugins中自动下载安装,需要从官网上下载到本地后手动安装(https://plugins.jetbrains.com/plugin/93-metricsreloaded )如果仍然无法访问,请自备梯子或者使用手机开热点下载。

??下载到本地后在File->Settings->Plugins中页面下部找到Install plugin from disk然后找到下载的压缩包选中安装即可。重启IDEA后就能够使用了。

??安装成功后,可以在Help->Find Action(或直接使用快捷键Ctrl+Shift+A)在搜索框中输入Calculate Metrics,根据自己的需要选择分析范围,并在Metrics profile一栏选择Complexity metrics后点击OK即可。

??在分析结果中可以看到ev, iv, v这几栏,分别代指基本复杂度(Essential Complexity (ev(G))、模块设计复杂度(Module Design Complexity (iv(G)))、Cyclomatic Complexity (v(G))圈复杂度。

??ev(G)基本复杂度是用来衡量程序非结构化程度的,非结构成分降低了程序的质量,增加了代码的维护难度,使程序难于理解。因此,基本复杂度高意味着非结构化程度高,难以模块化和维护。实际上,消除了一个错误有时会引起其他的错误。

??Iv(G)模块设计复杂度是用来衡量模块判定结构,即模块和其他模块的调用关系。软件模块设计复杂度高意味模块耦合度高,这将导致模块难于隔离、维护和复用。模块设计复杂度是从模块流程图中移去那些不包含调用子模块的判定和循环结构后得出的圈复杂度,因此模块设计复杂度不能大于圈复杂度,通常是远小于圈复杂度。

??v(G)是用来衡量一个模块判定结构的复杂程度,数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,经验表明,程序的可能错误和高的圈复杂度有着很大关系。

总结

??以上就是本次OO博客作业需要用到的IDEA插件。使用合适的工具可以成倍的提升工作效率,在此强烈推荐IDEA以及JetBrains全家桶,其高度集成的特点以及强大的功能可以为我们节省不少的时间。这也是我第一次写博客,也算是写OO第一次博客作业前的练手,如有不足,请多包涵。

原文地址:https://www.cnblogs.com/panxuchen/p/8689287.html

时间: 2024-10-10 22:20:52

OO课程中IDEA相关插件的使用的相关文章

总结eclipse中安装maven插件

当自己越来越多的接触到开源项目时,发现大多数的开源项目都是用maven来够建的.并且在开发应用时,也越来越意识到maven的确会解决很多问题,如果你要了解maven,可以参考:Maven入门指南(一)和 Maven入门指南(二).所以自己也学着使用maven.以下均参考的互联网上的内容,有的做了一些小的修改,并注明了出处. 第一部分:原文链接 maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版本是 3.0.4

unity中使用FingerGestures插件3.0

FingerGestures是一个unity3D插件,用来处理用户动作,手势. 译自FingerGestures官方文档 目录 FingerGestures包结构 FingerGestures例子列表 设置场景 教程:识别一个轻敲手势 教程:手势识别器 教程:轻击手势识别器 教程:拖拽手势识别器 教程:滑动手势识别器 教程:长按手势识别器 教程:缩放手势识别器 教程:旋转手势识别器 教程:自定义手势识别器 教程:识别手势事件 建议:使用.net代理事件 fingerGestures包结构 路径,

atitit.MyEclipse10 中增加svn插件故障排除

atitit.MyEclipse10 中增加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config.ini文件中org.eclipse.update.reconcile=false改为org.eclipse.update.reconcile=true 为了启动速度, 在插件加载成功后,可以再把它还原成false 韩式不行.... 查看bundles.info,黑头subversion 一瓦韩式c

Eclipse中安装Maven插件总结

最近公司需要新起一个项目,想使用maven+springmvc+spring+mybatis+mysql实现,以前我们的项目都是传统的老项目,没用过maven,Eclipse版本是GALILEO的,有点老,没有自带maven,只能先安装插件了,ok,开始工作: 首先需要安装本地的maven库: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,首先去官网下载 Maven:http://www.apache.org/dyn/closer.cg

平面广告设计课程中发散思维训练

广告创意是广告的生命之血,能够引起人们共鸣,促进购买欲望.而在我们生活中这样的广告实在太少了,原因主要是在创作中,创意思维模式过于机械化,难以创造出优秀的广告,创意需要灵感,需要创造性的思维模式.而在多种思维模式中,发散思维可以有效解决这个问题,对于提高学生的创新意识和设计灵感有着很重要的作用. 一.发散思维最集中地体现了创造性思维的本质和特征 创造性思维是一种借助于联想.想象.直觉.灵感,使人们的认识能突破常规.新颖独特,寻找多种解决问题的新方案或新途径的思维模式.发散思维呈现出一种扩散状态的

yii2框架中引用bootstrap中的日期插件yii2-date-picker

最近在学习yii2 框架,发现框架很强大,而且结合了时下许多新的技术在里面. 简单记录一下yii2-date-picker插件的使用方法: 首先先了解一下github中的相关资源:https://github.com/2amigos/yii2-date-picker-widget 其次:在自己的项目中利用上面链接中的相关方法下载此资源,命令为: php composer.phar require "2amigos/yii2-date-picker-widget" "*&quo

转:ElasticSearch的安装和相关插件的安装

原文来自于:http://blog.csdn.net/whxaing2011/article/details/18237733 本文主要介绍如下内容:          1.ElasticSearch的安装(Windows 和 Linux)          2.ElasticSearch插件安装          3.ElasticSearch源码集成到Eclipse  1.ElasticSearch的安装                 1)Windows环境 (1)下载ElasticSea

OO课程第三次总结QWQ

调研,然后总结介绍规格化设计的大致发展历史和为什么得到了人们的重视 emmm为这个问题翻遍百度谷歌知乎也没有得到答案,那我就把自己认为最重要的两点简要说明一下吧,欢迎大家补充~ 1.便于完成代码的重用交接. 乌鸡老师上课说到,一个代码被重用的频率越高,说明设计的水平越高.好的代码一定是为他人提供便利的.而这种便利也包括引用时的确定性,调用者可以按照自己的需求和这份代码规格对照,因此确定自己使用这个接口的安全性可靠性.并且,代码规格也说明了调用者可视范围内变量的变化情况,否则这种重用将是非常非常危

Go环境搭建、Sublime Text 3 安装Go语言相关插件gosublime

Go 语言环境安装 1.brew install go 默认安装,被安装了/usr/local/Cellar/go 目录并自设置了环境变量. 2.go env 可查看目前的go的环境变量 3.配置一个GOPATH环境变量,是工作目录. 根据约定,GOPATH下需要建立3个目录: bin 存储编译后的可执行文件 pkg 存放编译后生成的包文件 src 存放项目的源码 我把GOPATH建立在/Users/xinshaofeng/Study/gowork vi ~/.bash_profile 加入:e