[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. Python初学者需要注意的问题

    一.注意你的Python版本 Python官方网站为http://www.python.org/,当前最新版本为3.4.0 alpha,稳定版本为3.3.2,在3.0版本时,Python的语法改动较大 ...

  2. Phantomjs 一些简单实用

    Phantomjs是一个基于webkit的服务器端JavaScirpt API.它全面支持web而不需要浏览器支持,并且原生支持web的各种标准:DOM处理,CSS选择器,JSON,Canvas和SV ...

  3. LInux : du命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...

  4. 从头学Qt Quick(2)-- QML语法从一个简单的例子说起

    在上一篇文章中,我们对QtQuick做了简单的介绍,体验了使用QML语言构建一个UI的便捷.这里我们简要介绍一下QML的语法. QML将界面分成一些更小的元素,这些元素可以组成一个组件,QML语言描述 ...

  5. PE渲染引擎 一

    PE是我业余时间做的一个纯dx11的渲染框架.主要就是练手.如果有时间,会把它“扩展”成真正的引擎(标配至少要有个对应的编辑器吧 -_!!). 目前实现的有: obj文件加载,binormal计算. ...

  6. MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/commons/logging/LogFactory

    今天,安装Tomcat7.0.21后,单独用D:\apache-tomcat-7.0.21\bin\startup.bat启动web服务正常.但在MyEclipse8.5中集成配置Tomcat7后,在 ...

  7. linux VM复制多个IP配置出错的处理

    device eth0 does not seem to be present, delaying initialization (2012-09-13 21:16:38) 转载▼ 标签: 杂谈   ...

  8. ActionLink()与jquery更好地结合建造MVC网页:

    众所周知,微软的MVC框架提供了一系列Helper以用于创建Ajax的网页. 但是,类似于Ajax.ActionLink()的方法创建的Ajax缺乏足够的灵活性,例如: 页面上有很多选项,我们需要根据 ...

  9. solrcloud使用中遇到的问题及解决方式

    首先声明,我们团队在使用solrcloud过程中踩了一些坑,同事(晓磊和首富)进行了总结,我列到我的博客上做记录用: Q:为什么Solr里面的时间比数据库里面早8小时? Solr默认采用的时区是UTC ...

  10. JS魔法堂:获取当前脚本文件的绝对路径

    一.前言 当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧! 二.各大浏览器的实现方式 [a]. Chrome和FF 超简单的一句足矣! va ...