[Tool] 使用StyleCop验证命名规则
[Tool] 使用StyleCop验证命名规则
前言
微软的MSDN上,有提供了一份微软的命名方针,指引开发人员去建立风格一致的程序代码。
但是在项目开发的过程中,如果要透过人工检查的方式,去验证每行程序代码是否符合命名规则,这单纯只是考验忍耐上限的工作项目。本篇文章介绍如何透过StyleCop这个工具,来自动验证项目中的程序代码是否符合命名规则,在不增加开发人员负担的前提下,让团队的程序代码产出趋于一致、大幅提高生产的程序代码质量。主要为自己留个纪录,也希望能帮助到有需要的开发人员。

安装
首先至StyleCop的官方网站,下载StyleCop安装档:「StyleCop-4.7.49.0.msi」。

执行StyleCop安装档:「StyleCop-4.7.49.0.msi」,来安装StyleCop。

执行
使用Visual Studio开启项目。

方案总管中选择项目、开启右键选单、点选StyleCop Settings来开启设定画面。

保留Naming Rules、并移除其他规则后,点击OK按钮完成设定。(本篇文章单纯验证命名规则,其他规则可依项目需求自行加入。)

方案总管中选择项目、开启右键选单、点选Run StyleCop来开始验证项目的命名规则。
- 验证通过的显示结果为:

- 验证失败的显示结果为:

延伸
在StyleCop默认的Naming Rules中,物件的Private field是套用「小写开头」的命名规则。
public class Class1
{
// Fields
private int count = 1;
}
但是个人是比较偏好,对象的Private field是套用「底线+小写开头」的命名规则。(加不加底线这个规则,开发团队讲好选择相同的Style即可)
public class Class1
{
// Fields
private int _count = 1;
}
为了将「Private field:底线+小写开头」这个命名规则,加入到项目的命名规则中。开发人员可以先点击下列连结来取得「CLK.StyleCop.Rules.dll」,并且将这个dll加入StyleCop的安装目录。(预设为C:\Program Files (x86)\StyleCop 4.7)

接着在Visual Studio中,开启项目的StyleCop Settings,变更Naming Rules为下图设定。

完成上列设定步骤后,验证项目命名规则时,就会改为套用「Private field:底线+小写开头」这个命名规则。

参考数据
[Tool] 使用StyleCop验证命名规则的更多相关文章
- rhel7修改网卡命名规则
1步:当安装完红帽RHEL7系统安装完成,您的网卡命名是这样的. 第2步:请编辑网卡的配置文件 将”/etc/sysconfig/network-scripts/ifcfg-eno16777736“的 ...
- CentOS7网卡命名规则
CentOS6之前基于传统的命名方式如:eth1,eth0.... Centos7提供了不同的命名规则,默认是基于固件.拓扑.位置信息来分配.这样做的优点是命名是全自动的.可预知的,缺点是比eth0. ...
- 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则
笔记 (借鉴请改动) 5.3:文件特殊权限 SUID 临时拥有文件所有者的权限(基本上只是执行权限) SGID 临时拥有文件所有组的权限,在目录中创建文件自动继承该目录的用户组. SBIT 粘滞 ...
- PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键
PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...
- Java编译后产生class文件的命名规则
今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总结下 ...
- 「C语言」常量和变量的表示、应用和变量命名规则
在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...
- (转)Java编译后产生class文件的命名规则
今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总 ...
- CSS类名命名规则
CSS样式命名 说明 网页公共命名 #wrapper 页面外围控制整体布局宽度 #container或#content 容器,用于最外层 #layout 布局 #head, #header 页头部分 ...
- [No00009E]几种常见的命名规则
变量命名规则 必须遵循的命名规则 1. 变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2. 变量名只能是字母(a-z A ...
随机推荐
- android-tools-adb
sudo apt-get install android-tools-adbsudo apt-get install android-tools-fastboot
- 实例学习Backbone.js(一)
前面有两篇文章介绍了Backbone的model.collection和view,那么接下来我想用一个完整的Demo来记录我学习的过程, 单页操作,实现数据的增删改,后台使用json做数据库,通过re ...
- 一种高效的 vector 四则运算处理方法
实现 vector 的四则运算 这里假设 vector 的运算定义为对操作数 vector 中相同位置的元素进行运算,最后得到一个新的 vector.具体来说就是,假如 vector<int&g ...
- debian软件源source.list文件格式说明
在安装完debian操作系统之后大家做的第一件事大概就是修改source.list文件了吧,否则你是无法在线更新软件的,那么source.list文件中的各个配置项的具体含义你搞懂了么?下面就以我的s ...
- 关于在for循环中绑定事件打印变量i是最后一次。
其实函数引用的外部变量都是最后一次的值. <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- mysql Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
使用mysql的时候,用到int类型的蛮多,需要注意一下: 1. 值的范围 Type Storage Minimum Value Maximum Value (Bytes) (Signed/Uns ...
- 关于VR技术和未来发展---转
原文地址:http://mp.weixin.qq.com/s?__biz=MzA4MTIwNTczMQ==&mid=2651345594&idx=3&sn=2741ab7321 ...
- windows dos命令窗口的环境变量
今天安装maven的时候遇到mvn -v显示mvn不是命令行,环境变量maven_home和path路径都配置了. 首先查看windows下的环境变量: >set maven_home MAVE ...
- django 快速实现session的操作
说明: 从这一篇开始就不再完整的介绍django项目的创建过程了,因为前面几篇博客中都详细的介绍了这个创建过程,套路都是一样的,熟悉了这个套路,后面要做的是一些细节技术点的学习和练习. 上一节讲到了d ...
- 第一次接触终极事务处理——Hekaton
在这篇文章里,我想给出如何与终极事务处理(Extreme Transaction Processing (XTP) )的第一次接触,即大家熟知的Hakaton.如果你想对XTP有个很好的概况认识,我推 ...