代码大全2(读书笔记11)

121、变量申明

  声明指定了变量的类型,定义为变量指定的取值 。在允许这样做的语言,如C++和Java中,变量应该在靠近第一次使用的位置进行声明和定义。在理想情况下,每个变量都应该在声明的同时被定义,如下所示:

  Java示例:良好的初始化

int accountIndex=0;

//code using accountIndex

. . .

 

double total=0.0;

//code using total

. . .

 

boolean done=false;

//code using done

while(!done){ }

. . .

 

122、特别注意计数器和累加器

ijksumtotal等变量常用做计数器(counter)或累加器。在下一次使用这些变量之前忘记重置其值也是一种常见错误。

 

123、长短变量名的使用范围

  短的变量名总是不好吗?不,不总是这样。当你把一个变量名取得很短的时候,如i,这一长度本身就对该变量做出了一些说明-------也就是说,该变量代表的是一个临时的数据,它的作用域非常有限。

  阅读该变量的程序员应该会明白,这一数值只会用于几行代码之内。当你把变量命名为i的时候,你就是在表示,“这是一个普通的循环计数器或者数组下标,在这几行代码之外它没任何作用。”

  一项研究表明,较长的名字适用于很少用到的变量或者全局变量,而较短的名字则适用于局部变量或者循环变量。不过,短的变量常常会带来一些麻烦,因此,作为一项防御式编程策略,一些细心的程序员会避免使用短的变量名。

 

124、命名规则可以带来以下的好处。

1)、要求你更多地按规矩行事。通过做一项全局决策而不是做许多局部决策,你可以集中精力关注代码更重要的特征。

2)、有助于在项目之间传递知识。名字的相似性能让你更容易、更自信地理解那些不熟悉的变量原本应该是做什么的。

3)、有助于你在新项目中更快速地学习代码。你无须了解Anita写的代码是这样的,Julia是那样的,以及Kristin的代码又是另一种样子,而只须面对一组更加一致的代码。

4)、有助于减少名字增生。在没有命名规则的情况下,会很容易地给同一个对象起两个不同的名字。例如,你可能会把总点数既称为pointTotal,也称为totalPoints。在写代码的时候这可能并不会让你感到迷惑,但是它却会让一位日后阅读这段代码的新程序员感到极其困惑。

 

 

125、变量名与子程序命名规则

比较通用的一个规则是变量名与对象名以小写字母开始,子程序名字以大写字母开始:

variableNameRoutineName()

不同的语言有自己不能的命名风格。像CC++JAVA。使用的时候要学习。对于一些小种语言则没有较统一的命名规则。

windows下使用较多的匈牙利命名规则。它的特点是加前缀。

命名规则不是一个硬性规定。选一种大家较为接受的即可。

 

 

126、缩写的一般指导原则

  下面是几项用于创建缩写的指导原则。其中的一些原则彼此冲突,所以不要试图同时应用所有的原则。

(1)、使用标准的缩写。(列在字典中的那些常见缩写)。

2)、去掉所有非前置元音。(computer变成cmptr,screen变成scrn,apple 变成appl, integer 变成intgr。)

3)、去掉虚词and,or,the等。

4)、使用每个单词的第一个或前几个字母。

5)、统一地在每个单词的第一、第二或者第三个(选择最合适的一个)字母后截断。

6)、保留每个单词的第一个和最后一个字母。

7)、使用名字中的每一个重要单词,最多不超过三个。

8)、去除无用的后缀------ing,ed等。

9)、保留每个音节中最引人注意的发音。

10)、确保不要改变量的含义。

11)、反复使用上述技术,直到你把每个变量名的长度缩减到了820个字符,或者达到你所用的编程语言对变量名的限制字符数。

 

127、布尔变量妙用

JAVA示例:目的不明确的布尔判断

if((elementIndex<0) || (MAX_ELEMENTS<elelmentIndex) || (elementIndex==lastElementIndex))

{

。。。

}

 

JAVA示例:目的明确的布尔判断

finished=((elementIndex<0) || (MAX_ELEMENTS < elementIndex));

repeatedEntry=(elementIndex==lastElementIndex);

if(finished || repeatedEntry)

{

  。。。

}

 

128、具名常量

  具名常量很像变量,一旦赋值以后就不能再修改了。具名常量允许你用一个名字而不是数字――比如说MAXIMUM_EMPLOYEES而不是1000――-来表示固定的量,比如员工人数的最大值。

  使用具名常量是一种将程序“参数化”的方法――把程序中可能变化的一个方面写为一个参数,当需要对其修改时,只改动一处就可以了,而不必在程序中到处改动。

1)在数据声明中使用具名常量

  在需要定义所用数据的大小的数据声明和其他语句里,使用具名常量可以提高程序的可读性和可维护性。在下例中,就用LOCAL_NUMBER_LENGTH来描述员工电话号码的长度,而不用数字7

Visual Basic示例:在数据声明中使用具名常量

Const  AREA_CODE_LENGTH=3

Const LOCAL_NUMBER_LENGTH=7

Type PHONE_NUMBER

    areaCode(AREA_CODE_LENGTH)  As String

    localNumber(LOCAL_NUMBER_LENGTH)  As String

End Type

。。。

'make sure all characters in phone number are digits

For iDigit=1 To LOCAL_NUMBER_LENGTH

  If (phoneNumber.localNumber(iDigit)<"0") Or

 

2)用枚举来优化代码

代码一:

For i=1 To 12

   profit(i)=revenue(i)-expense(i)

Next

 

代码二:

For i=1 To NUM_MONTHS_IN_YEAR

  profit(i)=revenue(i)-expense(i)

Next

 

代码三:

 

For month=1 To NUM_MONTHS_IN_YEAR

   profit(month)=revenue(month)-expense(month)

Next

代码四:

For month=Month_January To Month_December

  profit(month)=revenue(month)-expense(month)

Next

 

129、个人与团队

  对于小的项目,程序员的个人才能对软件质量影响最大。程序员成功与否部分取决于开发过程的选择。

  对于多个程序员参与的项目,组织性的重要程序超过了个人技能。即便你有一个庞大的团队,其合力并不等于每个人能力的简单相加。人们一起工作时的方式将决定其能力是珠联璧合还是相互抵消。某个成员对其他人的工作是支持还是拖后腿,取决于团队采取的开发过程。

 

130、清晰代码的好处

1)、首先是降低复杂度

2)、便于自己理解

(3)便于他人理解,如果在一个大的团队里,每个人的代码都清晰明了,那就简化了成员之间的沟通,提高了团结效率。降低了沟通复杂度。同时,对于代码的维护也降低了复杂度。对于代码的更新也降低了复杂度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值