常用编码规范/命名规约

主要有以下两种

・Pascal(帕斯卡):每个单词的首字母大写、例如:ProductType

・Camel(驼峰):首个单词的首字母小写,其余单词的首字母大写、例如:productType

|----------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|---|
| 标识符 | 规则 | 样例 | Comment ||
| 命名空间 namespace | Pascal | FXAPIClassLibrary.Source.Cache | ||
| 类 class | Pascal | FXBaseDBControl、NoFoundFileException | ・用名词或名词短语命名Class ・抽象类以Abstract开头 ・属性类以Attribute结尾 ・自定义异常类以 Exception 结尾 ・下列几种常用设计模式,定义的类,要用各自的后缀标识。 工厂模式:Factory 单例模式:Singleton 职责链模式:Responsibility 适配器模式:Adapter 原型模式:Prototype 观察者模式:Observer 代理模式:Proxy 迭代器模式:Iterator ||
| 接口 interface | Pascal | IEquatable | ・用名词或名词短语命名Interface ・总是以 I 前缀开始 ||
| 枚举 enum | Pascal | Color | 规范上不易加Enum 但个人认为包含Enum更易识别 ||
| 常量 const | --- | ERROR_LOGIN、STATUS_SUCCESS | 全部大写,单词间,用下划线分割 ||
| 方法 funtion | Camel | chgDateToString | 动宾结构: [Get、Set、Sel、Upt、Crt、Del、Chg、Move、List等]+名词 ||
| 数据库字段 | Pascal | UserName | ||
| (类)属性 | Pascal | class Employee { private string _name;//数据成员 private byte _age; public string Name//属性 { get { return _name; } set { _name = value; } } public byte Age { get { return _age; } set { _age = value; } } } | 类的数据成员&属性,建议成套使用; 即、数据成员 及get访问器/set访问器 ※数据成员通常有下划线,作为前缀。 ※数据成员的维护和使用,应通过对象的set访问器、get访问器; 而不是直接作用于类。 ||
| (类)数据成员 | Camel | class Employee { private string _name;//数据成员 private byte _age; public string Name//属性 { get { return _name; } set { _name = value; } } public byte Age { get { return _age; } set { _age = value; } } } | 类的数据成员&属性,建议成套使用; 即、数据成员 及get访问器/set访问器 ※数据成员通常有下划线,作为前缀。 ※数据成员的维护和使用,应通过对象的set访问器、get访问器; 而不是直接作用于类。 ||
| 参数 | Camel | sendMessage | ||
| 局部变量 | Camel | userName | ||

※各种命名均应有 明确业务含义,尽量全工程有唯一性的名称。

能繁勿简,避免status, type等单词。仅在短循环索引可使用单字母: i 、j

※命名缩写:考虑到代码的可读性和维护性; 中心词不推荐缩写,或使用通用的命名;例如:

|---|---------------|------------------------------|
| 样例 || Comment |
| × | 中文拼音或日文音读 | 仅可使用 英文单词 |
| × | pwd | 中心词要用Full单词 |
| × | name | 避免全工程内,关键词搜索时,出现大量雷同。 |
| × | 1name | 不能以数字开头 |
| × | userName1 | 避免1,2, ... N的命名方式; 应该更有业务含义。 |
| △ | userName | 尽可能保持全工程变量的唯一性 |
| 〇 | loginUserName | 尽量确保命名在所属工程中,含义的唯一性。 |

相关推荐
HLAIA光子1 天前
AI 编程提效的困局:为什么出码率上去了,效率却没来?
ai编程·代码规范
Code_Artist3 天前
线程池的终结?协程/纤程/虚拟线程带来的并发范式变化!
后端·架构·代码规范
Jinuss3 天前
代码质量管理工具-SonarQube
前端·代码规范
Csvn4 天前
实用的 AI 辅助编程技巧和最佳实践
人工智能·代码规范
Supersist5 天前
【设计模式03】使用模版模式+责任链模式优化实战
后端·设计模式·代码规范
jump_jump7 天前
把一份前端 checklist 变成 AI 的 Skill:让 CR 不再靠记忆
性能优化·ai编程·代码规范
jump_jump7 天前
TSRX:一份源码,编译到 React / Solid / Vue / Preact / Ripple
前端框架·代码规范·编译器
这个DBA有点耶9 天前
联合索引的顺序:写错等于白建(最左前缀+范围条件+覆盖索引详解)
数据库·代码规范
这个DBA有点耶10 天前
一张5000万行的表,加索引从45秒到0.02秒——索引设计你真的会吗
程序员·代码规范