代码缺陷和代码错误的最大区别是,代码缺陷不影响游戏编译,而代码错误编译都不通过。但是代码缺陷会影响游戏发布后产生的一系列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文件删除。
如果你的项目比较大的话需要耐心的等待一下,大概1分钟左右。Report生成完毕后会弹出如下窗口,点击Open Report按钮即可。
如下图所示,他会生成一个Html的页面在本地,打开后写的非常清晰,并且已经分好了类,他会告诉你那一行代码有缺陷,如何来修改你的代码。一不小心代码就一大堆隐患,赶快一个一个修改吧。嘿嘿。。
最后期待您的回复与讨论。
- 本文固定链接: https://www.xuanyusong.com/archives/2828
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
win下载下来后,把文件夹放到unity安装的路径下面吗
有什么静态代码分析的最新工具嘛?VS2017自带的分析可以理解为这个功能吗?
当我点start的时候它提醒我:“You need mono 2.10 or higher installed on your system.”但是我已经安装过了MonoFramework-MDK-3.4.0.macos10.xamarin.x86.pkg 这是为什么呢?
我没遇到过这个错误, 不过你可以试试重装一下。。
我已经重装过两次了,你用的是mono哪个版本?
你怎么解决的
此问题是因为mono的版本过高,代码不兼容导致的~ 在GendarmeRunner类中有一个叫ValidateMono的方法,在确保你的mono版本大于2.10的情况下去掉以下代码跳过mono版本验证就可以。// if (version < 2 || version < 10) {// Debug.LogError(monoError);//// return false;// }或是修改此行为正确的匹配规则,鄙人比较懒去直接去掉上面描述代码的,如果有大神修正了请附上正确代码谢谢~var m = new Regex(“.* ([0-9]+)\.([0-9]+)\.[0-9]+ .*”).Match(stdOut);
此问题是因为mono的版本过高,代码不兼容导致的~ 在GendarmeRunner类中有一个叫ValidateMono的方法,在确保你的mono版本大于2.10的情况下去掉以下代码跳过mono版本验证就可以。//if (version < 2 || version < 10) {//Debug.LogError(monoError);////return false;//}或是修改此行为正确的匹配规则,鄙人比较懒去直接去掉上面描述代码的,如果有大神修正了请附上正确代码谢谢~var m = new Regex(“.* ([0-9] )\.([0-9] )\.[0-9] .*”).Match(stdOut);
雨松老师,你好。我想请教一个问题,我同学想做一个类似于动作捕捉的DEMO,他们在人身上装传感器,用来捕捉人的动作,然后电脑里的3D模型就做相同动作。捕捉相关技术都能够实现。3D模型模仿人的动作想用Unity来做,我想问下,如果用Unity3D来做这个,方便实现吗?如果能的话大概的思路是什么?先谢过了哈
支持MOMO,自从看了你那本书之后,有一段时间没做过Unity了。现在要重新开始努力了!
这个工具windows下载地址是:https://github.com/downloads/fderudder/unity-gendarme/Unity-Gendarme-2.10.zip,用法:导入对应的dll文件。momo大哥,我想问下它显示的约等号如 ≈1289是什么意思,难道是有1289个缺陷吗
这个工具windows下载地址是:https://github.com/downloads/fderudder/unity-gendarme/Unity-Gendarme-2.10.zip,用法:导入对应的dll文件。momo大哥,我想问下它显示的约等号如 ≈1289是什么意思,难道是有1289个缺陷吗
官方说:This plugin hasn’t been tested on Windows yet. 然后我在Windows没有生成报告
Momo大神有什么好的论坛推荐一下吗
最新的mono是什么?是monodevelop吗?如果是的话,我现在本地的版本已经是4.0.1了,那个链接里为什么才是Latest Version: 3.4.0(Mac),如果不是monodevelop的话,那不下也可以正常使用Gendarme呀,导出什么的好像也没什么问题
必须mark!
高大上!
这个必需有。