项目笔记---事半功倍之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): "" ...
随机推荐
- python,遍历文件的方法
在做验证码识别时,识别时需要和库里的图片对比,找到最接近的那个图片,然后就行到了用与图片一致的字符命名,获取文件的名称,去将图片的名称读出来作为验证码.以下是我通过网上的资料总结的三种文件遍历的方式, ...
- maven向本地库添加jar包
mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar ...
- 第八章 高级搜索树 (a1)伸展树:逐层伸展
- Python3 bytes 函数
Python3 bytes 函数 Python3 内置函数 描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列.它是 b ...
- c++ stl常用
#include<iostream>#include<string>#include<vector>#include<list>#include< ...
- springboot自定义消息转换器HttpMessageConverter
在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制就是利用HttpMessageCo ...
- php 中的信号处理
首先我们需要了解几个函数 pcntl_signal 安装信号处理器,也就是当指定信号发生时,调用函数. pcntl_alarm 指定秒数后向进程发送SIGALRM信号. posix_getpi ...
- 有关gitlab的神秘操作.....version&&domain设置...
在使用gitlab的时候,如果服务器IP变动,之前的domain写入了配置文件了,如下路径: [root@gitlab-server ~]# vim /var/opt/gitlab/gitlab-ra ...
- shell 脚本 测试webApp
vim **.sh文件 开头:#!/bin/bash ////////// copy cURL //因为这样copy的url就是一个命令(进入chrome的开发者工具里面,点network,找到刚刚访 ...
- mysql添加注释
-- 查看字段类型-- show columns from campaign_distribute --给表添加注释 -- alter table campaign_distribute commen ...