常用编码规范/命名规约

主要有以下两种

 ・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有点耶2 天前
从异步复制到MGR:MySQL复制机制的三层演进与选型框架
数据库·mysql·代码规范
kisshyshy2 天前
《从屎山到秩序:Vibe Coding 95 驾驭术全公开》
人工智能·代码规范·vibecoding
深圳老胡8 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
怕浪猫8 天前
ZCode 开源了来看看这是个什么东西
node.js·github·代码规范
Liaiyang669 天前
# 自研 AST 容错初筛工具:横向评测 Django、PyTorch、TensorFlow 三大开源 Python 框架异常收容风险
python·测试工具·自动化·开源软件·代码规范·devops·代码复审
kisshyshy10 天前
从Props透传到自定义Hook:系统梳理React跨层级通信与逻辑复用
前端·架构·代码规范
Flynt11 天前
阿里开源的 AI 代码评审工具,我喂了 5 个坑,一个没漏
开源·ai编程·代码规范
这个DBA有点耶13 天前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
这个DBA有点耶14 天前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
学渣超16 天前
记一次复杂业务功能重构——从过程式长链路,到模板方法构建体系
java·架构·代码规范