常用编码规范/命名规约

主要有以下两种

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

相关推荐
这个DBA有点耶18 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
这个DBA有点耶21 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
深圳老胡1 天前
RTX 与其他 RTOS 操作系统的差异及优缺点分析
笔记·stm32·单片机·代码规范
伟大的车尔尼2 天前
代码规范性与不同场景的要求
代码规范·代码·规范性
深圳老胡2 天前
C语言实现C++面向对象程序设计示例
笔记·stm32·单片机·代码规范
深圳老胡2 天前
STM32C5 系列 MCU 的 FreeRTOS 软件架构搭建指南:外设配置与应用实践
笔记·stm32·单片机·代码规范
高晶4 天前
Android 文件管理器开发实战指南
程序员·代码规范
4 天前
正则少一个 re.MULTILINE,我的安全闸门全程空转——而我以为修好了
后端·代码规范
咖啡八杯4 天前
异常体系设计:三类策略(i18n code、message、受检异常)
java·架构·代码规范
浮链序5 天前
Shopify 把 10 亿商品开放给任意 agent 了:我用零依赖 Python 撸了个带预算闸门的代购网关
后端·代码规范