[Tool] 使用StyleCop验证命名规则

前言

微软的MSDN上,有提供了一份微软的命名方针,指引开发人员去建立风格一致的程序代码。

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

安装

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

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

执行

  1. 使用Visual Studio开启项目。

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

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

  4. 方案总管中选择项目、开启右键选单、点选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验证命名规则的更多相关文章

  1. rhel7修改网卡命名规则

    1步:当安装完红帽RHEL7系统安装完成,您的网卡命名是这样的. 第2步:请编辑网卡的配置文件 将”/etc/sysconfig/network-scripts/ifcfg-eno16777736“的 ...

  2. CentOS7网卡命名规则

    CentOS6之前基于传统的命名方式如:eth1,eth0.... Centos7提供了不同的命名规则,默认是基于固件.拓扑.位置信息来分配.这样做的优点是命名是全自动的.可预知的,缺点是比eth0. ...

  3. 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则

    笔记 (借鉴请改动) 5.3:文件特殊权限 SUID  临时拥有文件所有者的权限(基本上只是执行权限) SGID  临时拥有文件所有组的权限,在目录中创建文件自动继承该目录的用户组. SBIT  粘滞 ...

  4. PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

    PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...

  5. Java编译后产生class文件的命名规则

    今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总结下 ...

  6. 「C语言」常量和变量的表示、应用和变量命名规则

    在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...

  7. (转)Java编译后产生class文件的命名规则

      今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总 ...

  8. CSS类名命名规则

    CSS样式命名 说明 网页公共命名 #wrapper 页面外围控制整体布局宽度 #container或#content 容器,用于最外层 #layout 布局 #head, #header 页头部分 ...

  9. [No00009E]几种常见的命名规则

    变量命名规则 必须遵循的命名规则 1.    变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2.    变量名只能是字母(a-z A ...

随机推荐

  1. Idea 201601注册码

    参考链接 http://blog.csdn.net/u010310183/article/details/51162137 在license 下面输入 http://www.iteblog.com/i ...

  2. spark MySQL jar 包

    /** * Created by songcl on 2016/6/24. */ import java.sql.DriverManager //val sqlContext = new org.ap ...

  3. 基于Java的数据采集(终结篇)

    关于写过关于JAVA采集入库的三篇文章: 基于Java数据采集入库(一):http://www.cnblogs.com/lichenwei/p/3904715.html 基于Java数据采集入库(二) ...

  4. 关于html、asp、php模板引擎、aspnet mvc、REST的一点思考

    先看我对REST的一点认识,下面是<rest实战> 这本书的序言文字:      在我刚刚开始从事解决计算问题的时候,业界就有很多人有一个愿望:将系统设计为能够被自由组合的组件.互联网(I ...

  5. (转) 寄存器、RAM、ROM、Flash相关概念区别整理

    转自 http://m.blog.chinaunix.net/uid-30077524-id-5570244.html 文章对这几个东西讲得很清楚,值得收藏. 寄存器 寄存器是中央处理器内的组成部份. ...

  6. Unity 模型导入导出

    从3DMAX导出,参考: http://tieba.baidu.com/p/2807225555 -> 使用3dmax 2013,会自带导出 fbx 的功能 -> 从 3dmax 导出 - ...

  7. ruby -- 基础学习(二) 外键配置实现级联删除

    该系列学习基于rails4.0 数据表:admins (id, name, address), articles (id, admin_id, title) admin_id 是表articles中的 ...

  8. js实现无刷新表单提交文件,将ajax请求转换为form请求方法

    最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的 ...

  9. Hadoop第1~2周练习—Hadoop1.X和2.X安装

        练习题目     Hadoop1.X安装 2.1    准备工作 2.1.1   硬软件环境 2.1.2   集群网络环境 2.1.3   安装使用工具 2.2  环境搭建 2.2.1   安 ...

  10. An Introduction to Garbage Collection(垃圾回收简介)

    1. Introduction 2. Principles 3. Advantages 4. Disadvantages 5. 常见的垃圾回收技术 5.1. 跟踪式垃圾回收 5.1.1. 基本算法 5 ...