使用StyleCop进行代码审查】的更多相关文章

使用StyleCop进行代码审查 工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格.今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的代码是否遵循设计规范..Net约定和一些贯用法等.保证代码的一致性,可读性等等. 在此之前,先简单介绍下FxCop(起初只是微软内部使用的工具),一个分析托管程序集,检测代码的总体正确性的工具,告诉用户哪些地方不符合设计规范.他使用的评估规则已经发展了多年,凝聚了顶尖.Net框架开发人员的知识和技术…
转自:http://www.cnblogs.com/JerryTian/archive/2012/09/20/AStyle.html 在日常的编码当中,大家经常要遵照一些设计规范,如命名规则.代码格式规范等等.或者大家在看一些别人写的代码时,若代码格式不是很规范时,看起来是比较麻烦的. 今天就给大家介绍一款名为AStyle的代码格式化工具,Astyle是一个开源代码格式化工具,可以使大家在日常开发中非常方便的调整大家的代吗格式.支持多种开发语言, 支持多种格式化风格,本文主要简单介绍下怎样通过简…
起因 通常使用Protobuf的步骤为 定义 .proto 文件 使用 protoc 生成对应语言的代码 以生成C#代码为例,使用如下命令: protoc -I ../protos --csharp_out ../Generated --grpc_out ../Generated \ --plugin=protoc-gen-grpc=grpc_csharp_plugin ../protos/ExportOffice.proto 其生成的C#代码像这样: public const int Temp…
“代码审查”或是“代码评审”(Code Review),这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法.由此,我们可以审查代码的风格.逻辑.思路……,找出问题,以及改进代码.因为这是代码刚刚出炉的时候,所以,这也是代码重构,代码调整,代码修改的最佳时候.所以,Code Review是编码实现中最最重要的一个环节. 长时间以来,Code Review需要有一些有效的工具来支持,这样我们就可以更容易,更有效率地来进行代码审查工作. StyleC…
为什么要进行代码审核? 提早发现代码中的BUG,避免将BUG带到生产环境 极大的提高软件质量,以及可维护性 统一代码规范.提高可读性,减少新加入成员的熟悉时间 加速个人和团队的成长,知识和经验的积累 StyleCop.Analyzers介绍 代码审查的方式有很多种,大体上分为人工审查和工具审查,这里我们只说工具审查. StyleCop是微软的一款代码审查工具,使用它可以检查代码中的各类静态编程规范错误,从代码注释,代码布局,可维护性,命名规范,可读性等各方面对代码规范性进行检查.重要的是,其规则…
最近我们Advent Data Service (ADS) 在项目上需要按照代码规范进行代码的编写工作,以方便将来代码的阅读与维护. 但是人工检查起来容易遗漏或者格式不统一, ReSharper又是收费的,而且费用不菲. 于是美国的同事推荐了我们一款开源工具 StyleCop,我想无论是对公司项目还是个人的项目,都是有所帮助的,所以想写下来与大家分享. StyleCop官网地址:http://stylecop.codeplex.com/, 这里有大家需要的msi安装文件,源代码和说明文档等资源.…
SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性. SourceAnalysis (StyleCop)不是代码格式化(代码美化)工具,而是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包括命名和注释等. SourceAnalysis (StyleCop)目的是帮助项目团队执行一系列常用的源代码格式规范,这些规范是关于如何开发布局规整,易读,易维护并且文档良好的优雅代码的 (help…
前言 编码风格,每个人都是有不同的特点,风格各异,而且一个人在不同的时期,编码风格的差异也可能是非常大的,好比学生时代,刚工作的时候,工作一段时间后等. 在一个团队中,或一个项目中,如果出现了N种风格,这个可能就是比较头疼了,尤其是风格差异很大的时候. 一个项目一种风格或许还可以接受,如果一个项目风格都不一样,那就有点难受了,就更不用说整个团队的了.长久来看,团队之间,难免会有人员的调动,所以统一整个团队的编码风格还是很有必要的. 统一了编码风格会带来什么好处呢?下面列出几点 便于代码审查 新人…
对样式审查?很少人会这么做吧,但实际上开发者应该有这样的态度,尤其是不同团队多人开发时,这一点尤为重要. 在本文中,我将陈述两点:一是为什么我们需要对样式进行审查,二是如何将审查工具融合到整体的构建流程中(适用于 CSS,也适用于 Sass). 简介 什么是代码审查 代码审查是一个检查代码是否符合编程规范以及查找代码错误的过程,如果要做个比喻,那么它就是编程语言的拼写检查工具.代码审查可以帮助独立开发者更好的维护代码,但它更大的能力是帮助团队维护代码. 为什么我们需要审查样式 对样式进行审查的原…
******** ******** 第一部分: 瘦身内容介绍 ******** ******** 项目新版本的迭代接近尾声, 因为历史累积问题, 导致有很多无效的资源让已经臃肿的APK变得更肿, 因此公司决定做一次Android APK的资源瘦身. 这次瘦身使用的是Lint审查工具,  用Android Studio的Generate Signed APK打包, 瘦身前APK为17.3M, 瘦身后为15.7M.  瘦身结果为APK大小减少了1.6M(9.x%) 1. 完全相同的一张图片, 在项目…
这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助. 清单 1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3. 去掉所有没有用到的usings.编码过程中去掉多余代码是个好习惯.(参考:msdn) 4. 在合理的地方检查对象是否为'null'…
这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助. 清单 1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3. 去掉所有没有用到的usings.编码过程中去掉多余代码是个好习惯.(参考:msdn) 4. 在合理的地方检查对象是否为’null’…
Phabricator是什么? Phabricator支持两种代码审查工作流:"review"(提交前审查)和 "audit"(提交后审查). Phabricator是Facebook保驾护航的11大IT技术之一.在Phabricator的网站中,开发者给出了这样的描述:"Facebook的工程师们毫不掩 饰自己对于Phabricator的喜爱之情,他们甚至将它视为'顺利'与'严谨'的代名词. Phabricator的优缺点: 优点: phabricato…
  给 C# 开发者的代码审查清单   [感谢@L就是L 的热心翻译.如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线.] 这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助. 清单 1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3.…
FxCop是一款微软官方提供的.net平台代码审查工具,目的是检查我们编写的程序集的代码是否符合规范.FxCop默认提供的是微软默认的审查规则,而且该规则符合<Framework DesignGuidelines>里面大部分的设计规范.因为FxCop默认提供的规范比较严格所以对开发人员的要求也比较高, 而且每个公司都有自己的一套规范,所以默认的规范并不能满足我们的要求,这就需要我们自己开发插件来进行自定义规则,而且FxCop已经集成到了Visual Stduio中,所以我们开发的插件也能在Vi…
Phabricator入门手册 http://www.oschina.net/question/191440_125562 Pharicator是FB的代码审查工具,现在我所在的团队也使用它来进行代码质量的控制.其提供了一个differential(code review)命令行工具Arcanist(arc).本文仅从本人的日常使用中总结出Arcanist比较常用的用法做个简单介绍. 环境说明 OS: OS X Mountail Lion SCV: svn IDE: Eclipse 安装 将Ar…
在我们关于高效代码审查的博文中,我们建议使用一个检查清单.在代码审查中,检查清单是一个非常好的工具——它们保证了审查可以在你的团队中始终如一的进行.它们也是一种保证常见问题能够被发现并被解决的便利方式. 软件工程学院的研究表明,程序员们会犯15-20种常见的错误.所以,通过把这些错误加入到检查清单当中,你可以确保不论什么时候,只要这些错误发生了,你就能发现它们,并且可以帮助你杜绝这些错误. 为了帮助你开始创建一个清单,这里列出了一些典型的内容: 代码审查清单 常规项 代码能够工作么?它有没有实现…
You can quickly force StyleCop to ignore files in a project by manually modifying the project file, and inserting the following element under each file being compiled that you wish to have ignored:…
前言: 由于最近在进行项目配置,配置内容:根据一个结构体,一一对应地配置xml文件(两个) 写一个和此结构体对应的类(只包含属性,字段).反复配置后,觉得太繁琐,因此想到使用程序完成自动配置,网上搜索代码信息提取工具无果,最后想到了stylecop(一个开源代码规范校验工具). stylecop简介:(摘自:http://www.oschina.net/p/stylecop) ourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读…
参考:StyleCopSDK.chm与 Byeah的 编写StyleCop自定义规则教程(一)---编写中文备注的简单校验规则 1.建立“类库”类型的C#项目 2.加入 Microsoft.StyleCop.dll 与 Microsoft.StyleCop.CSharp.dll 的引用 3.增加一个类,继承于:SourceAnalyzer,并带有 [SourceAnalyzer(typeof(CsParser))] 标题头. 4.重写AnalyzeDocument方法 5.使用WalkDocum…
这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助. 清单 1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3. 去掉所有没有用到的usings.编码过程中去掉多余代码是个好习惯.(参考:msdn) 4. 在合理的地方检查对象是否为’null’…
[Tool] 使用StyleCop验证命名规则 前言 微软的MSDN上,有提供了一份微软的命名方针,指引开发人员去建立风格一致的程序代码. http://msdn.microsoft.com/zh-tw/library/vstudio/ms229002(v=vs.100).aspx 但是在项目开发的过程中,如果要透过人工检查的方式,去验证每行程序代码是否符合命名规则,这单纯只是考验忍耐上限的工作项目.本篇文章介绍如何透过StyleCop这个工具,来自动验证项目中的程序代码是否符合命名规则,在不增…
1styleCop安装 安装参考 2和VS集成 要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的. 3styleCop使用 User Guide 4在项目中使用stylecop和把警告改为错误 在后缀为.csproj的文件添加如下一行,就可以使用styleCop主动检测项目了,但默认不符合规则的都是警告,注意需要在安装styleCop时选择与VS集成的那一部分,此部分默认是不安装的,否则这个项目用VS打开就会有问题,会提示不能识别某一节,不能…
代码审查(Code Review)不但可以提高质量,而且还是一个知识共享和指导的极好的手段.不幸的是,准备工作的辛苦和工具支持的缺乏让代码审查很容易被延至“稍后再议”.Review Board的目标便是改变这一现状,它所提供的应用程序可以支持代码审查流程.一些应用程序的特性包括: 详细的审查请求将所有代码审查所需要的信息都集合起来,包括代码的修改和屏幕截图一个支持将评论直接写至对应的代码行的diff查看器上下文讨论一个汇总审查和被审查需求的面板 自从去年5月VMWare的开发者Christian…
[SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "SA1401:FieldsMustBePrivate", Justification = "Reviewed.")] 很奇怪,前面增加Microsoft后,可以.…
Google是一个非常优秀的公司.他们做出了很多令人称赞的东西—既是公司外部,人们可以看到的东西,也是公司内部.有一些在公司内部并不属于保密的事情,在外部并没有给予足够广泛的讨论.这就是我今天要说的.让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查.并不是只有Google做这个事情—代码审查已经被广泛的认可为一种非常好的做法,很多人都在这样做.但我还没有看到第二家这样大的公司能把这种事情运用的如此普遍.在Google,没有程序,任何产品.任何项目的程序代码,可以在没有经…
FS2010 – Customizing the Build Details View – Summary View http://blogs.msdn.com/b/jpricket/archive/2010/08/09/tfs2010-customizing-the-build-details-view-summary-view.aspx Stylecop: http://stylecop.codeplex.com/ Dotcover http://tfssimplified.blogspot…
在StyleCop中有一些官方自己写好的检测规则下面就是英文的解释 文档规则 1.SA1600:ElementsMustBeDocumented元素必须添加注释 2.SA1601: PartialElementsMustBeDocumented   Partial修饰的成员必须添加注释 3.SA1602:EnumerationItemsMustBeDocumented 枚举必须添加注释 4.SA1603: DocumentationMustContainValidXml  注释必须合法(注释中的…
本文将简单的一步一步的指导这可能有助于学习如何创建自己的规则 1.创建一个项目. Visual Studio创建一个新的类库项目.NET3.5 2.引用两个DLL,StyleCop.dll和StyleCop.Csharp.dll. 3.添加自定义的规则. MyCustomAnalyzer.cs代码如下: using StyleCop; using StyleCop.CSharp; namespace MyCustomRules { /// <summary> /// Custom analyz…
一.定义 StyleCop是微软的一个开源的静态代码分析工具,检查c#代码一致性和编码风格. 二.支持的环境. JetBrains R# 5.1.3 ( 5.1.3000.12) JetBrains R# 6.0 (6.0.2202.688) JetBrains R# 6.1 (6.1.37.86) JetBrains R# 6.1.1 (6.1.1000.82) JetBrains R# 7.0.1 (7.0.1098.2760) JetBrains R# 7.1.3 (7.1.3000.22…