前言
命名规范的重要性:命名规范的重要性不下于代码说明的重要性,很多可以通过命名的类或者函数,避免重复开发,而在日常开发中的沟通,有时候是面对面的、有的时候是通信工具,有时候是邮件、或者有时候是共同遵守的规则或者习惯。好的习惯可以使一个人成为优秀的人,也可以使一个团队成为一个高效的团队,沟通无障碍的团队,那么也需要有统一的命名规范。
开发中需要对各种域(范围或者维度的)命名要有一定的规范性,由于程序员的英文水平不同,在实际开发中也可以使用汉语拼音来作为命名的基础。把每次新增的概念或者名称录入命名库,从库中可以看到每个命名的含义。
文章目录
- 前言
- 一、命名的规则规范
- 1、文件的命名规则
- 2、文件命名规范
- 3、名称命名规范
- 4、代码命名规范
- 5、函数的命名
- 二、常见命名法
- 1、标题驼峰命名法(CamelCase)
- 2、蛇形命名法(snake_case)
- 3 串式命名法(kebab-case)
一、命名的规则规范
1、文件的命名规则
网站中的所有文件命名全部用英文字母、数字、下划线、连字符的组合,其中不得包含汉字、空格和特殊字符。
尽量采用语义明确简单地英文单词命名。
常见命名 | 常见命名 |
---|---|
静态首页文件 | index/default |
图片文件夹 | img/images |
样式表文件夹 | css/styles |
脚本文件夹 | js/scripts |
字体文件夹 | fonts |
板文件夹 | templets |
媒体文件夹 | medias |
2、文件命名规范
常见的文件命名
框架布局/布局,版面 | layout.css |
字体样式 | font.css |
链接样式 | link.css |
打印样式 | print.css |
主要的 | master.css |
专栏 | columns.css |
主题 | themes.css |
3、名称命名规范
常见名称命名
页 眉 | header | 页 脚 | footer |
导 航 | menu | 版 权 | copyright |
主导航 | mainMenu / mainnav | 子导航 | subMenu / subnav |
顶导航 | topnav | 边导航 | sidebar |
左导航 | leftsidebar | 右导航 | rightsidebar |
边导航图标 | sidebarIcon | 面包屑 | breadcrumb |
内 容 | content | 容 器 | container |
登 录 | login | 标 志 | logo |
标 题 | title | 商 标 | label |
侧边栏 | sidebar | 外 套 | wrap |
图 标 | Icon | 标 语 | banner |
注 释 | note | 信息框 | manage |
搜 索 | search | 按 钮 | btn |
链 接 | link | 当前的 | current |
菜单内容 | menu content | 菜单容量 | menu container |
子菜单 | submenu | 标语/广告 | banner |
搜索 | search | 功能区 | shop |
4、代码命名规范
常见的属性代码目录
g_ | 全局变量 | s_ | 静态变量 | m_ | c++类成员变量 |
c_ | 常量 | a_ | 数组 | p_ | 指针 |
fn_ | 函数 | v_ | 无效 | h_ | 句柄 |
l_ | 长整型 | b_ | 布尔 | f_ | 浮点型 |
dw_ | 双字 | sz_ | 字符串 | n_ | 短整型 |
c_ | 计数 | d_ | 双精度浮点 | ch_ | 字符 |
i_ | 整型 | by_ | 字节 | w_ | 字 |
r_ | 实型 | u_ | 无符号 | Init_ | 初始化 |
Max_ | 最大 | Min_ | 最小 | Dest_ | 目的对象 |
T_ | 临时变量(或Temp) | Src_ | 源对象 |
5、函数的命名
函数名使用下划线分割小写字母的方式命名:
设备名_操作名();
操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语 宾语/表语(此时设备名作为主语或者标明操作所属的
tic_init();
adc_is_busy(){};
this.uart_tx_char();
二、常见命名法
1、标题驼峰命名法(CamelCase)
骆驼式命名法(Camel-Case)
又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase就像名称所表示的一样,指的是多种混合使用大小写字母来构成标识符的名称。使用者为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
小驼峰命名法(lowerCamelCase)
除第一个单词之外,其他单词首字母大写。方法名、参数名、成员变量、局部变量需要使用小驼峰命名法。
// 小驼峰命名法
humpName()
toHome()
const conflictQuantity= ref<number>(0)
大驼峰命名法(CamelCase)
相比小驼峰法,大驼峰法把第一个单词的首字母也大写了,常用于类名,命名空间等。
// 大驼峰命名法
class GetTimeAndDate{}
class SendingTimeAndDate{}
SettingHistory
2、蛇形命名法(snake_case)
蛇形法就是全由小写字母和下划线或者大写字母和下划线组成,在两个单词之间用下滑线连接即可。测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case)。
hump_name
first_name
min_height
MAX_HEIGHT
const conflict_quantity = ref<String>('')
3 串式命名法(kebab-case)
在串式命名法中,各个单词之间通过下划线“-”连接,比如
hump-name
first-name
min_height
事实上没有哪一种命名规则可以让所有的程序员都赞同,程序设计教科书一般都不指定命名规则。 只要简单明了,能明白其意就行。 命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。