变量命名的规范及程序功能思考

最近写了个分类的程序,全是对文本的操作,到现在有4000行了吧,程序里全是map、it。定义了N多变量名、函数名等。太过于繁杂以至于自己都不清楚到底在操作那个变量,经常得用UE查看程序代码,在外面改好之后再拷进来。有时为某个英语单词的缩写而犹豫半天,考虑到其所能表示的意思,又不会使代码变得很冗长,伤脑筋啊~!(这些天我一直想买本《代码大全》来看看)

今天程序总算结束了,才有空在网上找了些命名的规范来看。大概的内容我都能明白,如:

匈牙利命名法的基本原则:
变量名=属性+类型+对象描述
即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。下边是一些推荐使用的规则例子,你可以挑选使用,也可以根据个人喜好作些修改再用之。

⑴属性部分:全局变量: g_ 常量 : c_ 类成员变量: m_

⑵类型部分:指针: p句柄: h布尔型: b浮点型: f  无符号: u

⑶描述部分:初始化: Init临时变量: Tmp目的对象: Dst源对象: Src窗口: Wnd 下边举例说明:hwnd: h表示句柄,wnd表示窗口,合起来为“窗口句柄”。m_bFlag: m表示成员变量,b表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志”。

个人对下划线的命名法不是很感兴趣,但是受VC风格的影响,初期在程序中还是不自觉的使用了一些,于是造成了系统的小bug。

还有一点就是对程序的掌握能力。这个分类程序每次都要对测试集的文本进行读写,为了节省这段时间开销(自己也嫌每次手动打开比较烦)昨天晚上的时候,我尝试着在读取每一篇测试集时,将众多分类法(8×4种)同时实现。结果证明自己自作聪明了:测试单个文档时就使得我寝室那台可怜的机子处于Stop状态,而且无法知道是不是有死循环等bug,最后实在没耐心等下去了。今天过来把每个功能给拆散之后,发现果然有些错误的定义,如迭代器没有匹配到正确的容器上。而且大段类似的代码会让我看起来很晕。

说了这么多的中心思想是:将代码牢牢的控制在你能驾驭的范围内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值