事半功倍之StyleCop(一)

前言

曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具?

答案就是大名鼎鼎的StyleCop代码检查插件,有了这个统一标准的代码工具,今后就不用抱怨代码风格不合理了,当然前提是你能推动(或者说“要求”)团队成员严格履行代码约束,否则一切仅是美好的憧憬。OK,废话不多说了,现在请跟我一起来体验吧。

一、StyleCop安装

下载并默认安装:

http://stylecop.codeplex.com/

安装过程中,要关闭Visual Studio XXX,安装过程可能要2分钟。

二、启动VS并运行StyleCop

  1. 启动VS,打开一现有项目。
  2. 选择“工具” --- “Run StyleCop”。
  3. 查看“错误列表”(Error List)中的警告项,如图:

  

  Wow, 好多的警告信息,看来作者的代码“太不规范了” :(

  4. 按照提示消除警告信息,重复步骤2。如果能做到0警告你就完美了~~~

二、自定义StyleCop

默认设置的代码警告项非常多,而我们实际开发中又想过渡的严格而影响团队开发效率,那该如何是好呢?好在,StyleCop为我们提供了定制功能,只需简单的设置几步就可以完美的切合进我们现有的系统。

下面列举几个例子:

错误:SA1650:The element documentation for the element contains one or more spelling mistakes or unrecognized words. 简而言之,是注释中含有拼写错误。

我们习惯上懒惰的情况加是直接复制Class的名字(或者属性名)作为注释,这样字符串是连在一块的,SqlDataSource并不符合注释规范,默认StyleCop是不识别的,所以提示了SA1650错误,当然还有另一个情况是我们开发时候注释只中文的情况下支持的也不是很好,所以,我们暂且可以屏蔽掉这一提示。

这里有两种方式:

  1. 局部忽略错误:在错误提示上增加标签以忽略此项。其实就是在我们的SqlDataSource类上增加注释,这是官方文档中提供的方式。

  1. 全局忽略错误:右键项目---选择StyleCop Setting---Rules---Documentation Rules---Element Documentation---取消SA1650---点击OK

这样,我们就可以自定义每个项目的检查项,是否应用某些规则,以平衡我们自己的项目,这里只是抛砖引玉,以SA1650为例,更多项目请读者连接官方的Html文档查看,下一节会介绍如何快速查看Html文档。

二、快速查看官方文档

当我们遇到一对英文提示错误时,根本不理解其所云,也不知道如何更改才能符合“规则”,这里有一个快速的方法连接到某一错误的官方详细文档,当然,有道词典也是必不可少的:)

步骤:单击警告项---右键---点击显示错误信息

三、更多高级功能

这里列出官方给出的用户引用准则:

User Guide:

官方文档链接: http://stylecop.codeplex.com/documentation

作者:Stephen Cui 
出处:http://www.cnblogs.com/cuiyansong 
版权声明:文章属于本人及博客园共有,凡是没有标注[转载]的,请在文章末尾加入我的博客地址。 
如果您觉得文章写的还不错,请点击“推荐一下”,谢谢。

 
标签: StyleCop

事半功倍之StyleCop(一)的更多相关文章

  1. 项目笔记---事半功倍之StyleCop(一)

    前言 曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具? 答案就是大名鼎鼎的StyleCop代码检查插件,有了这 ...

  2. 项目笔记---事半功倍之GhostDoc(二)

    前言 前一篇文章<项目笔记---事半功倍之StyleCop(一)>提到如何约束代码,规范代码风格,这一节,我们将了解如何快速生成符合规则的代码注释---GhostDoc 一.安装Ghost ...

  3. 使用StyleCop进行代码审查

    使用StyleCop进行代码审查 工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格.今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的 ...

  4. 代码审查工具StyleCop

    “代码审查”或是“代码评审”(Code Review),这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法.由此,我们可以审查代码的风格.逻辑.思路 ...

  5. Force StyleCop to Ignore a File

    You can quickly force StyleCop to ignore files in a project by manually modifying the project file, ...

  6. Unity中那些事半功倍的好插件

    Unity开发最好的地方就是有各种强大的插件,有哪些插件让大家事半功倍,稳定强大 值得推荐学习和入手呢?Unity5.0之后,制作UI 以及UI的动画,UI特效,大家一般都使用什么插件?或者说有什么好 ...

  7. StyleCop源码分析

    前言: 由于最近在进行项目配置,配置内容:根据一个结构体,一一对应地配置xml文件(两个) 写一个和此结构体对应的类(只包含属性,字段).反复配置后,觉得太繁琐,因此想到使用程序完成自动配置,网上搜索 ...

  8. 自定义StyleCop规则

    参考:StyleCopSDK.chm与 Byeah的 编写StyleCop自定义规则教程(一)---编写中文备注的简单校验规则 1.建立“类库”类型的C#项目 2.加入 Microsoft.Style ...

  9. [Tool] 使用StyleCop验证命名规则

    [Tool] 使用StyleCop验证命名规则 前言 微软的MSDN上,有提供了一份微软的命名方针,指引开发人员去建立风格一致的程序代码. http://msdn.microsoft.com/zh-t ...

随机推荐

  1. C++它tinyXML使用

    tinyXML一个非常好的操作C++图书馆,文件不大,但方法非常丰富.和apache的Dom4j能够披靡啊! 习惯了使用java类库的我看到这么丰富的c++类库,非常高兴!它使用非常easy.仅仅须要 ...

  2. [LeetCode] Combinations [38]

    称号 Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exa ...

  3. hdu 4945 2048 (dp+组合的数目)

    2048 Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  4. rabbitmq的java简单的实现

    1,安装rabbitmq.我的是ubuntu14.04,在官网上面下载最新的安装文件http://www.rabbitmq.com/install-debian.html 2.安装完之后  启动rab ...

  5. jedis异常:NoSuchElementException: Timeout waiting for idle object

    项目发现网络环境:java.util.NoSuchElementException: Timeout waiting for idle object 问题原因:不应该在try中释放资源.而应该在fin ...

  6. ZendFramework2学习笔记 json和ajax

    单程: View服务寄存器ViewJsonStrategy之后,有可能直接在控制器action是使用JsonViewModel输出json的数据. 注冊ViewJsonStrategy: //modu ...

  7. Monkey源代码分析番外篇WindowManager如何出的喷射事件的进程间的安全限制

    在分析monkey源代码时的一些背景知识不明确,例如看到monkey它是用windowmanager的injectKeyEvent的喷射事件时的方法.我发现自己陷入疙瘩,这种方法不仅能够在当前的应用程 ...

  8. iOS一个开发系列中 - UIButton 使用摘要

    // 初始化button并设置类型 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 可以定义的UIButto ...

  9. 键盘enter事件时间页面绑定

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. JavaScript的隐式转换

    原文:JavaScript的隐式转换 JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它 ...