项目笔记---事半功倍之StyleCop(一)
前言
曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具?
答案就是大名鼎鼎的StyleCop代码检查插件,有了这个统一标准的代码工具,今后就不用抱怨代码风格不合理了,当然前提是你能推动(或者说“要求”)团队成员严格履行代码约束,否则一切仅是美好的憧憬。OK,废话不多说了,现在请跟我一起来体验吧。
一、StyleCop安装
下载并默认安装:
安装过程中,要关闭Visual Studio XXX,安装过程可能要2分钟。
二、启动VS并运行StyleCop
- 启动VS,打开一现有项目。
 - 选择“工具” --- “Run StyleCop”。
 - 查看“错误列表”(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错误,当然还有另一个情况是我们开发时候注释只中文的情况下支持的也不是很好,所以,我们暂且可以屏蔽掉这一提示。
这里有两种方式:
- 局部忽略错误:在错误提示上增加标签以忽略此项。其实就是在我们的SqlDataSource类上增加注释,这是官方文档中提供的方式。
 

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


这样,我们就可以自定义每个项目的检查项,是否应用某些规则,以平衡我们自己的项目,这里只是抛砖引玉,以SA1650为例,更多项目请读者连接官方的Html文档查看,下一节会介绍如何快速查看Html文档。
二、快速查看官方文档
当我们遇到一对英文提示错误时,根本不理解其所云,也不知道如何更改才能符合“规则”,这里有一个快速的方法连接到某一错误的官方详细文档,当然,有道词典也是必不可少的:)
步骤:单击警告项---右键---点击显示错误信息


三、更多高级功能
这里列出官方给出的用户引用准则:
User Guide:
- A Brief History of C# Style
 - Why Should We Use StyleCop?
 - History of StyleCop
 - Managing StyleCop Project Settings
 - Sharing StyleCop Settings Across Projects
 - Setting Up StyleCop MSBuild Integration
 - Running StyleCop in VS2005 or VS Express
 - Using File Lists
 - Using StyleCop on Legacy Projects
 - Rule Suppressions
 - Property Headers
 - List of StyleCop R# fixes
 - Registry Settings for Auto-update checks
 - Enabling Tracing to Investigate Performance Issues
 - Downloading older version of StyleCop
 - Running analysis on a mapped network drive
 
官方文档链接: http://stylecop.codeplex.com/documentation
项目笔记---事半功倍之StyleCop(一)的更多相关文章
- 项目笔记---事半功倍之GhostDoc(二)
		
前言 前一篇文章<项目笔记---事半功倍之StyleCop(一)>提到如何约束代码,规范代码风格,这一节,我们将了解如何快速生成符合规则的代码注释---GhostDoc 一.安装Ghost ...
 - 事半功倍之StyleCop(一)
		
事半功倍之StyleCop(一) 前言 曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具? 答案就是大名鼎鼎的S ...
 - 《BI项目笔记》——微软BI项目笔记连载
		
本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块: 准备工作: <BI项目笔记>基于雪 ...
 - 项目笔记---CSharp图片处理
		
原文:项目笔记---CSharp图片处理 项目笔记---CSharp图片处理 最近由于项目上需要对图片进行二值化处理,就学习了相关的图片处理上的知识,从开始的二值化的意义到动态阀值检测二值化等等,并用 ...
 - Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid
		
Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...
 - Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址
		
Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...
 - Django商城项目笔记No.10用户部分-登录接口
		
Django商城项目笔记No.10用户部分-登录接口 添加url路由 接下来第二步,增加返回内容: 增加结果如下: 配置:上边的方法定义了返回的内容都有哪些,那这个方法jwt还不知道,需要配置: 修改 ...
 - Django商城项目笔记No.9用户部分-注册接口签发JWTtoken
		
Django商城项目笔记No.9用户部分-注册接口签发JWTtoken 我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT. 关于签 ...
 - Django商城项目笔记No.8用户部分-注册接口实现
		
Django商城项目笔记No.8用户部分-注册接口实现 users的view.py中增加如下代码 class RegisterUserView(CreateAPIView): "" ...
 
随机推荐
- 查看sqlserver所有存储过程、视图等脚本语句
			
sqlserver上右击——任务——生成脚本 下一步——选择特定数据库对象 导出即可
 - 解决python中csv文件中文写入问题
			
一.前言 一般来说,为了方便,使用python的时候都会使用csv模块去写数据到csv文件,但是写入中文的时候,经常会报错: UnicodeEncodeError: 'ascii' codec can ...
 - ViewPager欢迎界面
			
一.几张图片组成欢迎界面 下方有几个点对应每个图片 当图片被选中时对应的点会变亮,当对应的点被点击时也会切换到指定画面 以下是代码 package com.example.viewpager_1; i ...
 - linux文件管理2
			
1.显示文件内容 cat : 显示文件内容 tac : 倒序显示内容 2.更改文件权限 chmod :更改文件权限 -R 递归改变 chown :更改文件拥有者 -R 递归改变 chgrp :更改文件 ...
 - MySql中循环的使用
			
一.while循环 语法:WHILE [条件] DO [逻辑] END WHILE; delimiter $$ DROP FUNCTION IF EXISTS `fn_findCharCount` $ ...
 - JS验证登录平台
			
function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android" ...
 - Win10 激活
			
先看看你的WIN10激活状态:1.右键开始菜单2.运行3.slmgr.vbs -xpr KMS卸载方法:1.如果是KMSPico,则自带服务卸载批处理,2.不管是哪种KMS工具,卸载掉软件之后请执行以 ...
 - 现代编译原理--第二章(语法分析之LR(1))
			
(转载请表明出处 http://www.cnblogs.com/BlackWalnut/p/4472772.html) 前面已经介绍过LL(1),以及如何使用LL(1)文法.但是LL(K)文法要求在 ...
 - 如何在win 2008 server和win 7上add web site
			
在 windows 2008 server 英文版的操作系统上,通过桌面上的 Computer 右键选择 Manage ,打开 Server Manager,选中左侧资源树中的Roles 在上图右侧 ...
 - action spring 注入错误,如果检查各项注入都没有错误时,考虑struts 是否配置了namespace(如果你有多个namespace="/")
			
[ERROR] 2015-01-04 09:42:35,180 (CommonsLogger.java:38) - Exception occurred during processing reque ...