关于程序命名的问题
来源:互联网 发布:淘宝店铺扣分在哪里看 编辑:程序博客网 时间:2024/06/05 23:51
之前在写程序时,对于程序的文件命名,函数命名并没有重视过,但是后来在做大型项目时这便成了问题,程序的可读性要加强。为此花几个小时来研究一下,并记录下来以便忘记时查阅。
查阅之后发现有三种方法,一种是匈牙利命名法,一种是驼峰命名法,还有一种是
下划线法。
一般采用驼峰命名法和下划线结合。驼峰法简单来说就是对于一个单词,首字母大
写后面小写,这样看着舒服。下划线顾名思义用下划线将单词分开。在写单词用以描述
功能时,应该尽量将单词写完整,这样便于阅读程序代码,为后期开发减小负担。
对于一些常用单词可以简写,如下
常用缩写词
原词 缩写
addition add
answer ans
array arr
average avg
buffer buf或buff
capture cap或capt
check chk
count cnt
column col
control ctrl
decode dec
define def
delete del
destination dst或dest
display disp
division div
encode enc
environment env
error err
float flt
frequency freq
header hdr
index idx
image img
increment inc
initalize init
iteration itr
length len
memory mem
middle mid
make mk
message msg
multiplication mul
number num
operand opnd
optimization opt
operator optr
packet pkt
positon pos
previous pre或prev
payload type pt
pointer ptr
return code rc
record rcd
receive recv
result res
return ret
source src
stack stk
string str
subtraction sub
table tab
temporary tmp或temp
total tot
time stamp ts
value val
目前也在学习linux内核,所以特别关注一下,在linux中的命名规则。下面为摘抄
的几个原则。
【规则3-1-4】程序中不要出现仅靠大小写区分的相似的标识符。
例如:
int x, X; // 变量x 与X 容易混淆
void foo(int x); // 函数foo 与FOO容易混淆
void FOO(float x);
【规则3-1-5】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的
作用域不同而不会发生语法错误,但会使人误解。
【规则3-1-6】变量的名字应当使用“名词”或者“形容词+名词”。
例如:
float value;
float oldValue;
float newValue;
【规则3-1-7】全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。
类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。
例如:
DrawBox(); // 全局函数
box->Draw(); // 类的成员函数
【规则3-1-8】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。
例如:
int minValue;
int maxValue;
int SetValue(…);
int GetValue(…);
【建议3-1-1】尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的
确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名
字(因为用数字编号最省事)
- 关于程序命名的问题
- 关于STRUCT命名的问题
- 关于命名CreateEvent权限的问题
- 关于C++命名空间的一些问题
- 关于jquery命名的冲突问题
- 关于强命名程序集
- 关于强命名程序集
- 关于强命名程序集
- 关于强命名程序集
- 关于强命名程序集
- 关于C++程序命名规范
- 关于命名空间自己写的小程序
- 关于模板特化在不同的命名空间的问题
- 关于yaf的控制器命名,一个纠结的问题。
- 不同模块命名相同导致的程序崩溃问题
- 关于裁减程序的问题
- 关于程序的编译问题
- 关于Struts2中的namespace(命名空间的问题)
- iOS中self和super区别
- 基础练习6_杨辉三角
- Head First Html+CSS 笔记(三)
- linux下目录读权限与执行权限区别
- win7 system文件损坏修复办法(刚刚出锅的经验)
- 关于程序命名的问题
- 别样JAVA学习(六)继承下(2.0)内部类上
- IOS网络篇12之Http概述
- 2014年10月10日
- 程序员三十,向左还是向右?
- Android系统移植必读教程。快速移植系统
- 详解Linux内核红黑树算法的实现
- 图像分割
- python中限制进程实例个数实现