事半功倍之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. JS达到Web指定保存的和打印功能的内容

    背景 首先,说说文章的背景.近期手中的一个项目,因为需求中要求提供Web界面的打印功能.当然假设没有打印机,还能够提供保存到本地.项目组长把这个"小任务"分给了我.本着努力为组长分 ...

  2. CSS——(2)与标准流盒模型

    部分博客<CSS--(1)基础>中简介了CSS的概念和几种用法,如今主要是介绍其的核心内容. 盒子模型 为了理解盒子模型,我们能够先从生活中的盒子入手.盒子是用来放置物品的,内部除了有物品 ...

  3. php阅读csv文件类

    php处理csv文件类: http://www.php100.com/cover/php/540.html <?php define("CSV_Start", 0); def ...

  4. Nginx + IIS

    Nginx + IIS 配置,实现负载均衡   当你的Web应用程序访问量大的时候,一台服务器可能会因为压力过大而无法处理所有的请求.此时,可以增加服务器,采用负载均衡来分担所有的请求.关于Nginx ...

  5. Python科学计算库演示

    号码值计算基础 NumPy至Python提供了高速的多维数组处理的能力.而SciPy则在NumPy基础上加入了众多的科学计算所需的各种工具包,有了这两个库,Python就有差点儿和Matlab一样的处 ...

  6. Cookie和Session (转)

    Session和Cookie在网站开发中是用来保存用户与后端服务器的交互状态.它们有各自的缺点和优点.而且,他们的优点和应用场景是对立的.   Cookie 完整地描述:当一个用户通过HTTP访问一个 ...

  7. 颜色(color)转换为三刺激值(r/g/b)(干股)

    //颜色转换  ##665522 - 三色值 + (UIColor *)setFontColorWithString:(NSString *)color {     NSString *cString ...

  8. ASP.Net中使用XMLDataSource

    在Web开发中,程序和数据库打交道是常有的事情.在平时使用过程中,使用较多的是MS SQLSERVER,因此经常用到SQLDataSource将数据绑定的数据控件上.有时数据量较小,无需要在数据库中创 ...

  9. Linux/UNIX先进I/O

    先进I/O 非阻塞IO 非阻塞I/O因此,我们可以称之为open.read和write这种I/O操作,而这些操作不会永久阻止.我们假设,该操作不能完成,然后调用立即返回一个错误.则表示该操作将继续作为 ...

  10. 标签(Tag)的各种设计方案

    标签(Tag)的各种设计方案 首先,标签(Tag)是什么? 我的理解:用来具体区分某一类内容的标识,和标签类似的一个概念是分类(Category),有一个示例可以很好的区分它们两个,比如人类分为:白种 ...