编码规范之命名

1.命名

命名是一个看似简单却值得深究的一个过程。变量、函数、文件等等命名有一些内在的要求:见名知义。一个好的名字可以让人一眼就知道它是做什么的,它往往是一个事物的高度概括。如果一个名字取得不好,那么可能会其他人带来阅读上的困难,甚至引起歧义。变量名和文件名一般采用名词,而函数名一般采用动宾结构。

1.1文件命名

文件命名一般建议采用名词,用大驼峰法。一个文件一般代表着一个类或模块,首先你需要对整个类或模块的定位有一个清晰的了解,才能给它取出一个恰当的名字。对于类而言,你需要明确它具有那些属性和行为;对于模块而言,你需要明确它为了解决什么问题而产生,起到什么作用。

文件开头一般都需要加注释,写清楚作者和编码时间以及功能说明。

例如:

文件名:ForceDirectedLayout

/**

* Created by zhongzh on 2017/6/19.

*力导向布局

*/

1.2变量命名

变量命名一般建议采用类型前缀+有意义的单词组成,用小驼峰法。

局部变量:

s:表示字符串。例如:sName,sHtml;

n:表示数字。例如:nPage,nTotal;

b:表示逻辑。例如:bChecked,bHasLogin;

a:表示数组。例如:aList,aGroup;

r:表示正则表达式。例如:rDomain,rEmail;

fn:表示函数。例如:fnGetHtml,fnInit,fnGetName,fnSetAge;

f :表示文件。例如:fInput;

o:表示以上未涉及到的其他对象,例如:oButton,oDate;

g:表示全局变量,例如:gUserName,gLoginTime;

$:表示Jquery对象。例如:$Content,$Module;这是一种比较广泛的Jquery对象变量命名规范。

dom:表示Dom对象,例如:domForm,domInput;

临时变量(作用域小):str,num,bol,obj,fun,arr,cnt等等

循环变量:i,j,k

1.3函数命名

一个好的函数名一般能通过名字直接获知该函数实现什么样的功能。首先,如果你无法对这个函数给出一个合适的名字,说明你对这段代码将要实现的功能理解还不到位,或者说你对需求的理解还不够充分。其次,如果你的函数名不能正确地反映函数功能,那么你可能就嗅到了“坏代码的味道”(参考《重构》),可能意味着这个函数过大,需要细化为耦合性更小、功能更加独立的几个函数。

函数命名一般建议统一使用动词或者动词+名词的形式:init(),getName()

涉及到布尔逻辑值的函数建议采用is,has,contains代替动词开头:isObject(),hasClass(),containsElements()

常见的一些动词,可以借鉴和参考:

get 获取/set 设置,        add 增加/remove 删除

create 创建/destory 移除        start 启动/stop 停止

open 打开/close 关闭,        read 读取/write 写入

load 载入/save 保存,        create 创建/destroy 销毁

begin 开始/end 结束,        backup 备份/restore 恢复

import 导入/export 导出,        split 分割/merge 合并

inject 注入/extract 提取,        attach 附着/detach 脱离

bind 绑定/separate 分离,        view 查看/browse 浏览

edit 编辑/modify 修改,        select 选取/mark 标记

copy 复制/paste 粘贴,        undo 撤销/redo 重做

insert 插入/delete 移除,        add 加入/append 添加

clean 清理/clear 清除,        index 索引/sort 排序

find 查找/search 搜索,        increase 增加/decrease 减少

play 播放/pause 暂停,        launch 启动/run 运行

compile 编译/execute 执行,        debug 调试/trace 跟踪

observe 观察/listen 监听,        build 构建/publish 发布

input 输入/output 输出,        encode 编码/decode 解码

encrypt 加密/decrypt 解密,        compress 压缩/decompress 解压缩

pack 打包/unpack 解包,        parse 解析/emit 生成

connect 连接/disconnect 断开,        send 发送/receive 接收

download 下载/upload 上传,        refresh 刷新/synchronize 同步

update 更新/revert 复原,        lock 锁定/unlock 解锁

check out 签出/check in 签入,        submit 提交/commit 交付

push 推/pull 拉,        expand 展开/collapse 折叠

begin 起始/end 结束,        start 开始/finish 完成

enter 进入/exit 退出,        abort 放弃/quit 离开

obsolete 废弃/depreciate 废旧,        collect 收集/aggregate 聚集

                                          编程常用缩写
序号 英文词 缩写词 意义
A Accumulator Acc 累加器
  Action Act 动作,活动
  Active Act 活跃的
  Addition Add 添加
  Address Addr 地址
  Alarm Alm 报警
  All All 所有
  Allocate Alloc 分配
  Amplitude Amp 幅值
  Analog Input AI 模拟输入
  Analog Output AO 模拟输出
  Anolog I/O AIO 模拟I/O
  Apparent App 表面上的
  Argument Arg 变元
  Arrange Arrng 排列
  Array Array 阵列
  Assemble Asm 组装
  Attribute Attrib 属性
B Bar Bar 条,带
  Bit Bit 比特
  Block Blk
  Buffer Buf 缓冲区
  Button Btn 按钮
  Bypass Bypass 旁路,跳过
C Calculate Calc 计算
  Calibration Cal 校准
  Change Chg 改变
  Channel Ch 通道
  Check Chk 检查
  Clear Clr 清除
  Clear Screen Cls 清屏
  Clock Clk 时钟
  Column Col
  Command Cmd 命令
  Communication Comm 通信
  Compare Cmp 比较
  Complete Comp 完成
  Configuration Cfg 配置
  Connect Con 连接
  Construct Cons 构建
  Context Ctx 上下文
  Control Ctrl 控制
  Control Word CW 控制字
  Convert Conv 转换
  Copy Cp 复制
  Count Cnt 计数
  Counter Ctr 计数器
  Current Cur 当前,电流
  Cursor Csr 光标
D Date Date 日期
  Day Day
  Day-of-week DOW 一周中的一天
  Debounce Debounce 消抖
  Decimal Dec 十进制的
  Decode Decode 解码
  Decrease Dec 减少
  Define Def 定义
  Degree Deg
  Delay Dly 延迟
  Delete Del 删除
  Descriptor Desc 描述符
  Destination Dst 目的地
  Device Dev 装置
  Digit Dig 数字
  Disable Dis 禁用
  Discovery Disc 发现
  Discrete I/O DIO 离散输入输出
  Discrete Input DI 离散输入
  Discrete Output(s) DO 离散输出(s)
  Display Disp 显示
  Division Div 除法
  Divisor/Division Div 除数/分
  Down Down
  Dummy Dummy 虚构的
  Dynamic Dyn 动态
E Edge Edge
  Effective Eff 有效
  Electric Elec
  Empty Empty
  Enable En 使能
  Engine Eng 引擎
  Engineering Units EU 工程单位
  Enter Enter 进入
  Entries Entries 条目
  Equivalent Equiv 等效
  Error(s) Err 错误
  Ethernet Eth 以太网
  Event(s) Event 事件
  Exception Exc 例外
  Exit Exit 出口
  Expiration Exp 到期
  Exponent Exp 指数
  Extension Ext 延伸
F Field Fld 场,领域
  Flag Flag 标志
  Flush Flush 刷新
  Format Format 格式
  Fraction Fract 分数
  Free Free 自由
  Frequency Freq 频率
  Full Full 完整的,满的
  Function(s) Fnct 函数,功能
G Gain Gain 增益
  Generate Gen 生成
  Get Get 得到
  Group(s) Grp
H Handler Handler 处理程序
  Harmonic Harm 谐波
  Hexadecimal Hex 十六进制
  High Hi
  High Priority Task HPT 高优先级的任务
  History Hist 历史
  Hit Hit
  Hour(s) Hr 小时
I I.D. Id 身份识别
  Idle Idle 闲置
  Impulse Imp 脉冲
  Index Ix 索引
  Initialization Init 初始化
  Initialize Init 初始化
  Input(s) In 输入
  Instruction Instr 指令
  Interrupt Int 中断
  Interrupt Service Routine ISR 中断服务程序
  Invert Inv 使转化
K Key Key 关键
  Keyboard Key
L Length Len 长度
  Limit Lim 极限
  List List 列表
  Lock Lock
  Low Lo
  Low Priority Task LTP 低优先级任务
  Lower Le 较低的
  Lowest Lo 最低的
M Magnitude Mag 大小
  Mailbox Mbox 邮箱
  Make Mk
  Mantissa Man 尾数
  Manual Man 手册
  Manufacture Mfg 制造
  Mask Msk 面具
  Maximum Max 最大
  Measure Meas 测量
  Message Msg 消息
  Minimum Min 最小
  Mode Mode 模式
  Month Month
  Move Mov 移动
  Multiplex Mux 多路的
  Multiplication Mul 乘法
N Negative Neg
  Nesting Nesting 嵌套
  Neutral Neut 中性
  New New 新的
  Next Next 下一个
  Number of Num
O Offset Offset 偏移
  Old Old
  Operation System OS 操作系统
  Optimize Opt 优化
  Original Orig 原型
  Output Out 输出
  Overflow Ovf 溢出
P Package Pkg 包裹
  Parameter Param 参数
  Pass Pass 通过
  Performance Perf 性能
  Period Per 周期
  Phase Ph 相位
  Pointer Ptr 指针
  Port Port 端口
  Position Pos 位置
  Positive Pos 正的
  Power Pwr 功率
  Previous Prev 以前的
  Printer Prt 打印机
  Priority Prio 优先
  process Proc 过程
  Product Prod 产品,乘积
  Protocol Prot 协议
  Put Put
  Quality Qlty 质量
  Quarter Quar 季度,1/4
Q Queue Q 队列
R Raw Raw 未加工的
  Reactive React 反应
  Read Rd
  Ready Rdy 准备好了
  Real-Time RT 实时
  Recall Rcl 回忆
  Receive Rx 接收
  Rectangle Rect 矩形
  Reference Ref 参考
  Register Reg 登记
  Repeat Rpt 重复
  Request Req 请求
  Reserve Resv 储存
  Reset Reset 复位
  Response Resp 响应
  Resume Resume 摘要
  Return Rtn 返回
  Reverse Revs 反向,相反
  Ring Ring 成环形
  Row Row
  Running Running 运行
S Sample Smp 样品
  Scale Scale 比例
  Scale Factor SF 比例因子
  Scaling Scaling 缩放比例
  Scan Scan 扫描
  Schedule Sched 计划表
  Scheduler Sched 调度程序
  Screen Scr 屏幕
  Second(s) Sec
  Segment(s) Seg
  Select Sel 选择
  Semaphore Sem 发信号
  Sequence Seq 序列
  Server Svr 服务器
  Set Set
  Setting Setting 设置
  Seven-segments SS 七段
  Signal Sig 信号
  Size Size 大小
  Sourse Src
  Stack Stk 堆栈
  Standard Std 标准
  Start Start 起点
  Statistic(s) Stat 统计
  Status Stat 状态
  Stop Stop 停止
  String Str 字符串
  Subtraction Sub 减法
  Suspend Suspend 暂停
  Switch Sw 开关
  Synchronize Synch 使同步
  System Syst 系统
  Table Tbl
T Task Task 任务
  Threshold Th 门槛
  Tick Tick 标记
  Time Time 时间
  Timeout TO 超时
  Timer Tmr 定时器
  Time-stamp TS 时间戳
  Toggle Tgl 切换
  Total Tot
  Trigger Trig 触发
U Unlock Unlock 解锁
  Up Up
  Update Update 更新
  Utility Util 实用,功用
V Value Val
  Variable Var 变量
  Vector Vect 矢量
  Version Ver 版本
  Visible Vis 可见
  Voltage Vol 电压
W Watchdog Wdog 看门狗
  Write Wr
Y Year Year

猜你喜欢

转载自blog.csdn.net/biersibao/article/details/83016040