[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 ...
随机推荐
- 用 Wireshark 图解:TCP 三次握手
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “snow warn throughout the winter” 一.什么是 Wireshar ...
- [Z] Windows 8/10 audio编程
都是些网上搜到的比较不错的文章.关于这块儿的内容网上帖子不多.出去下面列的最主要的还有参考MSDN. WASAPI使用介绍: https://blogs.windows.com/buildingapp ...
- Eclipse中用Logcat调试程序
调试程序的一种方法是用Logcat程序,在Eclipse中windows->show view->other->android->logcat可打开. 然后程序加入androi ...
- lxde桌面默认快捷键
ctrl+alt+左右 选择左右桌面shift+alt+左右 当前窗口送至左右桌面房子键+F1~F4 切换桌面1-4房子键+d 显示桌面alt+esc ...
- 编译升级php之路(5.5.7 到 5.5.37)
为在一台旧服务器上能使用slim,共经历了: 1.安装composer(需要高版本php,原来是5.5.7) 2.升级php版本到5.5.37(编译出错,准备使用docker) 3.升级centos内 ...
- 获取全国市以及地理坐标,各大坐标系北斗,百度,WGS-84坐标系的转换,有图,有代码
1 先上坐标取到的值: 获取到的坐标部分如下: '北京市':[116.39564503788,39.92998577808], '天津市':[117.21081309155,39.1439299033 ...
- 读书笔记_Effective_C++_条款四十七:请使用trait classes来表示类型信息
这一条款主要来讨论模板中迭代器的属性iterator_category,它可以通过类似于vector<int>::iterator::iterator_category的方式来取得. 到这 ...
- 天猫浏览型应用的CDN静态化架构演变
原文链接:http://www.csdn.net/article/2014-01-22/2818227-CDN-Architecture 在天猫双11活动中,商品详情.店铺等浏览型系统,通常会承受超出 ...
- 修改mysql默认字符集的方法
+--------------------------+---------------------------------+ | Variable_name | Value | +---------- ...
- 关于异步Promises
英文原文:What's The Point Of Promises? 迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念 ...