C#编程规范:润和软件公司标准
需积分: 9 89 浏览量
更新于2024-07-22
收藏 284KB PDF 举报
C#编码规约,是江苏润和软件股份有限公司制定的一套编程规范,用于指导C#开发者遵循一致的代码编写风格和实践,提升代码质量和可读性。该规约包括文件构成、命名规则和编码指南等多个方面。
1. 方针
规约的目的是确保团队间的代码一致性,提高代码的可读性和可维护性,减少由于命名不规范、结构混乱等问题导致的错误。此外,它也强调了良好的编程习惯和设计原则,如DRY(Don't Repeat Yourself)和SOLID原则。
2. 文件构成
- 文件名:应简洁明了,反映文件内容,使用下划线分隔单词。
- 文件位置:根据文件类型和功能组织在相应的目录结构下。
- 测试类名:测试类应与被测试类保持一致,加上"Test"或"Tests"后缀。
- 测试类的位置:通常放在与被测试类同一级别的测试目录下。
3. 命名规则
- 名称空间:使用全小写,单词间用点分隔,描述其包含的类或组件的功能。
- 文件名:与主要类名相同,使用下划线分隔。
- 类名:使用PascalCase,每个单词首字母大写,描述类的角色和责任。
- 例外类名:以"Exception"结尾,表明它是异常类。
- 接口名:以"I"开头,后跟接口的功能描述。
- 实现类名:无特定约定,但应清晰表达其职责。
- 抽象类名:以"Abstract"或"Base"开头,表明它是抽象或基础类。
- 定量(Const):全部大写,单词间用下划线分隔。
- 列挙型(enum):PascalCase,每个枚举值也是PascalCase。
- 列挙值:描述其含义,避免使用数字。
- 事件名:动词短语,描述事件发生时的动作。
- 方法名:动宾结构,描述方法执行的动作。
- 一般方法、工厂方法、转换方法和属性名都有相应的命名指导。
- Boolean变量:以"Is", "Has", 或 "Can"开头。
- 英语和日语:推荐使用英语作为代码的命名语言。
- 对称性:命名应保持一致性,如"Get"和"Set"对应属性。
- 循环计数器:以"i", "j", "k"等表示。
- 狭义名字:只在小范围内使用的变量,避免全局可见。
- 意义明确的名称:每个名字都应清楚地描述其代表的内容。
- 空泛的名称:应避免使用无意义的占位符名称。
- 变量的访问修饰符:如private、protected、internal、public等应根据其访问范围选择。
4. 指南
- #Region/#EndRegion:用于组织代码块,但应避免滥用,以免影响代码的结构清晰度。
- 方法和属性声明:应简洁,避免过长的签名。
- 长行:应尽量避免超过一定长度的行,提高阅读舒适度。
- 长类声明行:拆分为多行以提高可读性。
- 长方法声明行:同上,避免单行声明过长的方法。
- abstract Class vs Interface:根据是否需要实现默认行为来选择使用抽象类还是接口。
- public变量:应谨慎使用,尽可能通过属性提供访问。
- 初始
2018-11-01 上传
2011-04-13 上传
2010-09-30 上传
2019-05-05 上传
2011-09-25 上传
2022-07-15 上传
2010-08-25 上传
2016-05-11 上传
nalnal_gnoD
- 粉丝: 2
- 资源: 11
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析