首页 > Unity3D频道 > 【Unity杂文】 > Unity3D研究院之静态自动检查代码缺陷与隐患
2014
06-24

Unity3D研究院之静态自动检查代码缺陷与隐患

代码缺陷和代码错误的最大区别是,代码缺陷不影响游戏编译,而代码错误编译都不通过。但是代码缺陷会影响游戏发布后产生的一系列BUG。。我今天无意间逛外国论坛发现的一个方法,使用了一下感觉挺给力的第一时间分享给大家。 下载下来以后,它是一个文件夹把整个文件夹拷贝在你Unity的工程里面就行了。

Unity 3D Gendarme Plugin:https://bitbucket.org/kzoabi/unity3d-gendarme-plugin

然后下载最新的mono 它是跨平台的,我用的是MAC所以我下载的就是一个 dmg文件, 下载完毕后安装完成即可。

http://www.go-mono.com/mono-downloads/download.html

如下图所示, 选择Assets->Gendarme Report Level 选项,将弹出Gendarme界面,你可以选择它的优先级,然后点击Start按钮。如果报错的话,请把Assets文件夹下的gendarme文件夹和gendarme-report.html文件删除。

Unity3D研究院之静态自动检查代码缺陷与隐患 - 雨松MOMO程序研究院 - 1

如果你的项目比较大的话需要耐心的等待一下,大概1分钟左右。Report生成完毕后会弹出如下窗口,点击Open Report按钮即可。

Unity3D研究院之静态自动检查代码缺陷与隐患 - 雨松MOMO程序研究院 - 2

 

 如下图所示,他会生成一个Html的页面在本地,打开后写的非常清晰,并且已经分好了类,他会告诉你那一行代码有缺陷,如何来修改你的代码。一不小心代码就一大堆隐患,赶快一个一个修改吧。嘿嘿。。

 

Unity3D研究院之静态自动检查代码缺陷与隐患 - 雨松MOMO程序研究院 - 3

最后期待您的回复与讨论。

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. 当我点start的时候它提醒我:“You need mono 2.10 or higher installed on your system.”但是我已经安装过了MonoFramework-MDK-3.4.0.macos10.xamarin.x86.pkg 这是为什么呢?

      • 此问题是因为mono的版本过高,代码不兼容导致的~ 在GendarmeRunner类中有一个叫ValidateMono的方法,在确保你的mono版本大于2.10的情况下去掉以下代码跳过mono版本验证就可以。// if (version Unity3D研究院之静态自动检查代码缺陷与隐患 - 雨松MOMO程序研究院 - 1 < 2 || version Unity3D研究院之静态自动检查代码缺陷与隐患 - 雨松MOMO程序研究院 - 2 < 10) {// Debug.LogError(monoError);//// return false;// }或是修改此行为正确的匹配规则,鄙人比较懒去直接去掉上面描述代码的,如果有大神修正了请附上正确代码谢谢~var m = new Regex(“.* ([0-9]+)\.([0-9]+)\.[0-9]+ .*”).Match(stdOut);

  2. 雨松老师,你好。我想请教一个问题,我同学想做一个类似于动作捕捉的DEMO,他们在人身上装传感器,用来捕捉人的动作,然后电脑里的3D模型就做相同动作。捕捉相关技术都能够实现。3D模型模仿人的动作想用Unity来做,我想问下,如果用Unity3D来做这个,方便实现吗?如果能的话大概的思路是什么?先谢过了哈

  3. 最新的mono是什么?是monodevelop吗?如果是的话,我现在本地的版本已经是4.0.1了,那个链接里为什么才是Latest Version: 3.4.0(Mac),如果不是monodevelop的话,那不下也可以正常使用Gendarme呀,导出什么的好像也没什么问题