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 | 年 |