编程习惯 - 命名

说明

  • 编程中,从小到大,变量,函数,类,文件等都需要进行命名,命名是编码中最基础的行为,容易被忽视,命名是代码阅读理解影响最明显的因素之一,命名的好坏对代码可读性影响非常大,可读性也是代码质量的一种体现。
  • 命名是编程的基本功,命名的好坏也是编程能力的体现,如何命好名是程序员不可忽视的能力之一。

好命名的好处

  1. 体现功能与意图;如果命名能够清晰的表示变量,函数的功能与意图,能够降低理解难度和学习成本。
  2. 体现代码结构与层次;代码是有结构和层次的,如果能够通过命名体现,对理解架构的帮助很大,并且可以更好的体现单个命名的作用与意图。
  • 一个命名可能无法解释代码结构,但是命名是有层次的,project名,包名,文件名,函数名,变量名等等,好的命名对于推导出代码的结构帮助非常大。

如何命好名

英语能力

  • 当前编程都是使用的英文,中文编程等只是噱头,英语能力体现了代码的可读性。
  1. 良好的英语功底能够帮助程序员更好的描述自己的思维。
  2. 丰富的词汇储备;如果遇到不熟系或者不懂的单词,只会越看越别扭,即使命名非常好,非常贴切。

表达能力

  1. 最重要的一点:命名和实际功能贴切,既不夸大也不缩小函数的功能。
  • 贴切是最重要也是最难的一点,不贴切就会造成误解,有两种可能:
  • 夸大函数功能;有时候想的多,但是实际功能不够,例如:解析数据时,想支持xml,json等,但是只写了一个json解析,却将json解析函数命名为解析数据;音乐播放器中删除本地音乐包括删除音乐列表和删除文件,如果你将删除列表函数命名为delMusic,并且变量名也没命名好,如果第一次看到函数名,可能会以为是完成了整个删除工作,容易造成误解。
  • 缩小函数功能,

逻辑能力

  • 代码逻辑是否清晰,模块划分,代码的功能是否非常清晰,这些都直接影响命名,当然命名也反作用于逻辑,命好名后,模块划分也更清晰了。
  • 从大到小,先定义对外的接口函数,再对功能进行分解,划分函数,不用一开始就想怎么封装,怎么通用,可以先细分,细分完后再考虑函数合并。

编程习惯

单词大小写来表示访问权限

  1. 函数
* private 函数 
* public 函数
* protect 函数
* go语言private函数首字母大小,public函数首字母大写。
* c/c++编程,私有函数会在函数前加上“__”,公有不加。 

加上特殊单词来标识作用域

  • 加上特殊单词来标识函数或变量的作用域,写代码时不用特意去记,或者查看定义,能够加快编码效率。
  1. 变量
* 全局变量;全局变量在变量名前面加上 “g_” ,例如:"g_test", 这样程序员一看到 g_ 就知道是全局变量,不用去找定义
* 类成员变量;类成员变量一般加上 “m_”。
* 局部变量; 局部变量什么都不加。

使用特殊符号分隔单词

  • 命名使用一个单词无法表明具体含义时,需要使用多个单词,多个单词需要进行分隔,不然容易误造成误解,分隔方法如下:
  1. 驼峰法 - 通过单词首字母大写分隔
* 大驼峰
TimeZone
* 小驼峰
timeZone
  1. 下划线法 - 通过下划线分隔
time_zone

功能相同的函数或变量加上统一的单词

  • 功能相同的函数或变量加上统一的单词,程序员能够举一反三,可以很快明白其作用,例如:
  • http请求的处理函数一般会加上 handle,这样一看就知道是http请求的处理函数。

误区

  1. 命名是代码风格的一方面,但是它们不冲突,不能因为坚守代码风格的条例而限制命名,例如:
  • 之前公司,限制命名为2个单词以下,即使有时候表达不了作用与意图。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值