常用编码规范/命名规约

主要有以下两种

 ・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 | 尽量确保命名在所属工程中,含义的唯一性。 |

相关推荐
梦梦代码精12 小时前
用开源BuildingAI打造C端AI助手,内置写作/绘画/长文/漫剧,商业化模块全预制
docker·ai·ai作画·开源·代码规范
小林ixn15 小时前
TS 工具类型实战:Pick/Omit/Partial/Record 一次讲透,别再 Omit 反了
typescript·代码规范
慌途L3 天前
Open Code Review 详解:阿里巴巴开源 AI 代码审查工具
ai·ocr·代码规范·code review·ai代码审查
bytemaster3 天前
GitLab CE 团队卡不住 commit 规范?我用一个全局 Hook 把整个公司拦下了
代码规范
东风破_5 天前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
先吃饱再说5 天前
代码写得好不好,谁说了算?ESLint 如何让团队代码风格“自动统一”
代码规范·eslint
懒人wsh5 天前
一个潜伏3天半才爆的bug-从502到Too-many-open-files的排查记录
代码规范
烬羽5 天前
ESLint 10 把 .eslintrc 删了:flat config 到底怎么配,我帮你踩完了
代码规范·eslint·前端工程化
_约书亚_5 天前
Chapter 4 并发同步操作 · 归纳总结
代码规范
Asize6 天前
ESLint 到底在帮我们守住什么?从规则配置到工程实践
代码规范·eslint