代码大全阅读笔记-第一天
代码大全阅读笔记
第一天
今天读的是关于变量的命名规则那一篇。
首先就是准确的命名远好过模糊的命名,这个自然不必多说,就算不学计算机也知道的常识。但是后面变量名字长短会影响阅读这段代码的人对变量在程序里的使用场景的判断这个确实第一次听说,比如较长的名字(不过也不能太长)更适合全局变量之类而较短的名字对于局部变量更适合。
除此之外使用i,j,k之类的变量也要注意场景,因为i,j,k之类的变量往往是使用于循环和数组的下标变量这件事情已经变成了大家约定俗成的事情,所以如果用到其他地方,会让阅读的人感到迷惑,大大增加了阅读的时间成本和交流成本。
还有状态变量、临时变量、布尔变量之类的命名规则,这里我就不分段写了,一气概括吧,我会把这本书的下载链接放到这一篇的末尾,想看全篇的人去找“变量名的力量”那一章。
mindmap
root((三种变量名的命名规则))
root(状态变量)
最好可以除了使用flag之外,使用一些能够让人明白是哪个状态在改变的名字。比如可以将flag作为后缀使用end_flag或者使用例如dataready更加直抒胸臆的名字
(临时变量)
临时变量虽然大家一般习惯使用temp,不过还是建议你们能在想明白这个临时变量的具体用途之后起个更准确的名字
(布尔变量)
关于布尔变量这里有一些格外有用的名字推荐:done、error、found、success、ok。 这些名字都可以让你看你的代码时能够更快明白你当初设立这些变量是做什么用的。 比如done就是指‘做完了没有’这样的。
这本书里既然写了那么多关于命名规则的事,当然也写了为什么要立下命名规则,当然最直接的原因肯定只有一个——效率。不论是开发效率、维护效率、阅读效率等等都会因为明确的变量名得到显著的提升。这里就拿开发时来讲吧,规范的、明确的命名能够传递的信息不只是这个变量本身的含义,还有这个变量发挥的作用,这个变量和其他变量之间的关系,而假如是你和团队一起开发的话,规范的命名带来的收益就更大了:减少交流成本;能够理解同事负责的项目;开发速度的提升之类的。即便是个人开发的话,假如你决心把你的项目做大或者你决心让你的项目长久保留下去,那么规范的名字都是或不可缺的,毕竟人的记忆是有限的,你不可能在几个月或者甚至几年后还记得你当初写下的int x到底指的什么意思。
当然,区分你的变量也不是非得每个都要思前想后,深思熟虑,很多时候你其实可以通过前缀和后缀或者大小写的方式来区分你的变量,比如类和实例就可以通过大小写的方式来很好的区分。总之只要你觉得怎样命名对项目的开发效率是最有效的就怎样做,毕竟这个才是检验方法对不对的唯一准则。
这本书后面关于这个名字还讲了很多,但是我这里就只挑我感兴趣的来讲了,想自己看的可以通过下面的链接来下载。(这个阅读笔记系列以后或许我会继续写,就当做是我自己的知识总结吧)
代码大全下载链接(这个链接是从z-lib来的,需要梯子下载)
