zoukankan      html  css  js  c++  java
  • 代码大全阅读笔记05

    接下来我阅读的是第十一章——变量名的力量

    首先该章的重要内容如下:

    ·         好的变量名是提高程序可读性的一项关键要素。对特殊种类的变量,比如循环下表和状态变量,需要加以特殊的考虑

    ·         名字要尽可能的具体。那些台模糊或者太通用以至于能够用于多种目的的名字通常都是很不好的

    ·         命名规则应该能够区分局部数据、类数据和全局数据。他们还应该可以区分类型名、具名常量、枚举类型名字和变量名。

    ·         无论哪种类型项目,你都应该采用某种变量命名规则。你所采用的规则的种类取决于你的程序的规模,以及项目成员的人数。

    ·         现代编程语言很少需要用到缩写。如果你真的要是用缩写,请使用项目缩写词典或者标准前缀来帮助理解缩写

    ·         代码阅读的次数远远多于编写的次数。确保你所取得名字更侧重于阅读方便而不是编写方便

    这一点我也有一些感触,在刚进入大一时,自己写代码也是随便的用变量名,并没有什么规则,可能唯一的规则就是从a~z吧,因为当时学习到,这样的命名在语法上是没有任何错误的,而命名自己懂就好了,不需要其他人能看得懂,后来发现,随着时间的增长,自己也看不懂当时的变量,而且老师也看不懂,后来我也知道了自己写的代码更大程度上还是给他人看的,一个好的程序员在变量命名上一定会遵从命名规范。于是大一下的时候,只要是变量命名我都会尽可能的去用英文或者英文的简写去表示。这个习惯也养到了现在,对自己帮助是非常大的。

    下面也是命名变量需要注意的:

    1. 变量名不能随意的取

    2. 以问题作为导向(problem orientation)

    一个好记的名字反映的通常都是问题,而不是解决方案。

    一个好名字通常表达的是“什么”,而不是“如何”。举个例子:

    3. 最适当的名字长度

    应该将变量名的长度控制在8到20个字符之间,太短的名字无法传达足够的信息,而太长的名字也会使程序的视觉结构变得模糊不清。

    ——但是,短的变量名也并非总是不好,当你把一个变量名去的很短的时候,比如i,这种变量本身也说明了一件事——该变量代表的是一个临时数据,作用域非常有限。

    要时刻思考下面问题:

    一般注意事项

    ·         名字完整并准确地表带了变量所代表的含义吗?

    ·         名字反映了显示世界的问题而不是编程语言方案吗?

    ·         名字足够长,可以让你无需苦苦思索吗?

    ·         如果有计算值限定符,它被放在名字的最后吗?

    ·         名字中用Count或者Index来代替Num了吗?

    短名字

    ·         代码用了长名字吗(除非有必要使用短名字)?

    ·         是否避免只为了省一个字符而缩写名字的情况?

    ·         所有单词的缩写方式都一致吗?

    ·         名字能够读出来吗?

    ·         避免使用容易被看错或者读错的名字吗?

    ·         在缩写对照表里对短名字做出说明吗?

    常见命名问题:你应该避免使用:

    ·         容易让人误解的名字

    ·         有相近含义的名字

    ·         只有一两个字符不同的名字

    ·         发音相近的名字

    ·         包含数字的名字

    ·         为了缩短而故意拼错的名字

    ·         英语中经常拼错的名字吗

    ·         与标准库子程序名或者预定义变量名冲突的名字

    ·         过于随意的名字

    ·         含有难读的字符的名字

  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/qianmo123/p/10991068.html
Copyright © 2011-2022 走看看