团队项目开发“编码规范”之九:代码分析
团队项目开发"编码规范"之九:
代码分析
发布日期:2011年3月17日星期三作者:EricHu
勤能补拙、笨鸟先飞。
使用Visual Studio自身的代码分析功能,检查内容如下表,分为
1.安全规则。
2.互操作性规则
3.可维护性规则
4.可以只性规则
5.命名规则
6.全球化规则
7.设计规则
8.性能规则
9.移动性规则
10.用法规则
其中“是否检查”一项中为“√”的内容不能违反。需在Visual Studio中设置为错误
9.1.安全性规则
标识 |
详细信息 |
是否检查 |
CA2100 |
检查Sql查询中是否有安全漏洞 |
√ |
CA2104 |
不要声明只读可变引用类型 |
√ |
CA2105 |
数组字段不应为只读 |
√ |
CA2121 |
静态构造函数应为私有 |
√ |
9.2.可靠性规则
标识 |
详细信息 |
是否检查 |
CA2000 |
超出范围前释放对象 |
√ |
9.3.可维护性规则
标识 |
详细信息 |
是否检查 |
CA1500 |
变量名不应与字段名相同 |
√ |
CA1501 |
避免过度继承 |
√ |
CA1502 |
避免过度复杂 |
√ |
9.4.命名规则
标识 |
详细信息 |
是否检查 |
CA1700 |
不要将枚举值命名为“Reserved” |
√ |
CA1705 |
较长的首字母缩略词应采用Pascal大小写格式。 |
√ |
CA1706 |
较短的首字母缩略词应全部大写 |
√ |
CA1707 |
标识符不应包含下划线 |
√ |
CA1709 |
标识符的大小写应该正确 |
√ |
CA1710 |
标识符应具有正确的后缀 |
√ |
CA1711 |
标识符应采用正确的后缀 |
√ |
CA1712 |
不要将类型名用作枚举值的前缀 |
√ |
CA1713 |
事件不应具有 before 或 after 前缀 |
√ |
CA1715 |
标识符应具有正确的前缀 |
√ |
CA1716 |
标识符不应与关键字冲突 |
√ |
CA1718 |
避免在参数中使用特定于语言的类型名 |
√ |
CA1719 |
参数名不应与成员名冲突 |
√ |
CA1720 |
标识符不应包含类型名 |
√ |
CA1721 |
属性名不应与 get 方法冲突 |
√ |
CA1722 |
标识符应采用正确的前缀 |
√ |
CA1724 |
类型名不应与命名空间冲突 |
√ |
CA1725 |
参数名应与基方法中的声明保持一致 |
√ |
9.5.性能规则
标识 |
详细信息 |
是否检查 |
CA1800 |
避免进行不必要的强制转换 |
√ |
CA1804 |
移除未使用的局部变量 |
√ |
CA1805 |
避免进行不必要的初始化 |
√ |
CA1809 |
避免过多的局部变量 |
√ |
CA1812 |
避免未实例化的内部类 |
√ |
CA1813 |
避免未密封的属性 |
√ |
CA1819 |
属性不应返回数组 |
√ |
CA1823 |
避免未使用的私有字段 |
√ |
9.6.用法规则
标识 |
详细信息 |
是否检查 |
CA1801 |
检查未使用的参数 |
√ |
CA2202 |
不要多次释放对象 |
√ |
CA2211 |
非常数字段不应该是可见的 |
√ |
CA2218 |
重写 Equals 时重写 GetHashCode |
√ |
CA2219 |
不要在异常子句中引发异常 |
√ |
CA2222 |
不要降低继承成员的可见性 |
√ |
CA2230 |
对个数可变的参数使用 params |
√ |
CA2233 |
运算不应溢出 |
√ |
团队项目开发“编码规范”之九:代码分析相关推荐
- 团队项目开发编码规范
团队项目开发"编码规范"之一:概述 "程序员.程序员"顾名思义就是来编程序的人员.他们和一般工作人员是一样的,都需要合作,可能为了一个大型项目程序会有十人以上或 ...
- 团队项目开发编码规范之一:概述
团队项目开发"编码规范"之一:概述 发布日期:2011年3月18日星期三作者:EricHu 勤能补拙.笨鸟先飞. "程序员.程序员"顾名思义就是来编程序的人 ...
- C++_开发_项目开发编码规范
文章目录 1.头文件 1.1.Self-contained 头文件: 1.2.头文件中的 #define 的保护: 1.3.尽可能地避免使用前置声明: 1.4.内联函数: 1.5.#include 的 ...
- 【项目篇】Android团队项目开发之统一代码规范
前言 团队项目开发前的统一三要素:统一需求/开发文档,统一代码规范,统一环境(编译/测试/发布). 一个项目团队,要想有高效的产出,必须在团队协作上下好功夫,必须在项目开发统一进度上做好协调.只有在高 ...
- 软件开发编码规范_如果您只喜欢编码,请不要成为软件开发人员
软件开发编码规范 If you are starting now or thinking about to start a software development career. Or even i ...
- iOS开发编码规范与审核时的注意事项
iOS开发编码规范与审核时的注意事项 一. 编码的排版格式 1 代码的缩进应使用空格(SPACE),不能使用制表符(TAB),并且缩进以2个字符为单位. 2 空格的使用 a) 关键字与其后的表达式之间 ...
- 《团队项目开发之三对一维环形数组的求解》
<团队项目开发之三对一维环形数组的求解> 设计思想:通过把数组的长度扩大为原来的一倍,相当于新数组是由对原来的数组重复了一遍后而组成的,这样保证了数组以环状的形式,按照数组中每个数字的位序 ...
- Android开发编码规范pdf文件下载
Android开发编码规范.pdf文件下载 Android开发编码规范.pdf文件下载. 公司要求成立统一的开发流程和编码规范,希望每个人的编码一致,风格一致,这样有利于提高开发效率,于是我从网上整理 ...
- 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]
文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...
最新文章
- ARP协议全面实战手册——协议详解、攻击与防御(内部资料)
- 实用的才是最好的,教你如何以MATLAB的方式实现高等应用数学问题(二)
- fir.im Weekly - 做一款 App 需要考虑什么
- matlab怎么给函数自变量赋值_MATLAB的变量及赋值
- 苏州数字网络计算机比赛,苏州市计算机学会数字化校园专委会2018年年会在我院召开...
- BOOST_VMD_ASSERT_IS_TUPLE宏相关的测试程序
- Redis 它是什么?它用来做什么?它的优势与短板如何?
- 基于jQuery/zepto的单页应用(SPA)搭建方案
- Ubuntu Docker 安装
- Python拓展12(使配置文件生效ConfigParser模块)
- mysql可视化工具路径访问_windows开启3306端口并用可视化工具访问远程mysql(授权访问)...
- OpenCV图像直方图案例
- C#的6种常用集合类大比拼
- 第三方全网发布 返回Api文本消息解决失败
- 【数字信号处理】离散时间信号 ( 离散时间信号 与 连续时间信号 关系 | 序列表示法 | 列表法 | 函数表示法 | 图示法 )
- 网页中使用阿里图标iconfont
- ubuntu下搭建不同端口网站
- 什么是DDOS攻击?怎么抵抗DDOS攻击?
- Windows使用三:笔记本打不开wifi
- failed to push some refs to 'git@xxx.xxx.xxx.xxx:finger-shoot/shoot-admin.git'
热门文章
- Web 的全栈工程师必修课 - 关于 MVC 框架
- 阿里云虚拟机 php $_SESSION 失效问题
- FOC——10.11.IR2106半桥预驱电路
- 解决 macbook m1 苹果笔记本电脑 关闭盖子 休眠
- 微信公众平台iPhone版内测开始了
- mysql:设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示
- AndroidStudio软件用法详细说明
- 基于php的外卖订餐系统开题报告_校园网上订餐系统的设计与实现(PHP,MySQL)
- 有关php地英语文章,实用英语短句-PHP教程,其它文章
- html 名人名言源代码,基于JQuery及AJAX实现名人名言随机生成器_咋地 _前端开发者...