第十章 使用变量的一般事项
1、永远不要依赖的隐式变量声明:
在声明变量的时候初始化,且在靠近第一次使用的位置初始化它或在类的构造函数里初始化该类的数据成员。
2、遵循某种命名规则:
对像Num和No这样的常见变量名后缀建立一套命名规则,从而确保在需要一个变量时不会写成两个
3、尽可能缩短变量的“存活”时间:
1)减少变量的作用域。
2)把相关语句放在一起:
C++示例:使用两套变量——使人困惑的做法
void SummarizeDate() {
GetOldData( oldData, &numOldData);
GetNewData( NewData, &numNewData);
totalOldData = Sum( oldData, numOldData );
totalNewData = Sum( newData, numNewData );
PrintOldDataSummary( oldData, totalOldData, numOldData );
PrintNewDataSummary( newData, totalNewData, numNewData );
SaveOldDataSummary( totalOldData, numOldData );
SaveNewDataSummary( totalNewData, numNewData );
}
3)C++示例——使用两套变量——是人更容易理解的做法
void SummarizeDate() {
GetOldData( oldData, &numOldData);
totalOldData = Sum( oldData, numOldData );
PrintOldDataSummary( oldData, totalOldData, numOldData );
SaveOldDataSummary( totalOldData, numOldData );
GetNewData( NewData, &numNewData);
totalNewData = Sum( newData, numNewData );
PrintNewDataSummary( newData, totalNewData, numNewData );
SaveNewDataSummary( totalNewData, numNewData );
}
4、绑定时间:越晚绑定越有利(灵活性最佳)
Java示例:在编写代码时绑定(早绑定)
titleBar.color = 0xFF;
Java示例:在编译时绑定其值(比前面那个好)
private static final int COLOR_BLUE = 0xFF;
private static final int TITLE_BAR_COLOR = COLOR_BLUE
....
titleBar.color = TITLE_BAR_COLOR;
Java示例:在运行时绑定其值(最晚)
titleBar.color = readTitleBarColor();
一个熟练的程序员会按照需要引入足够的灵活性来满足软件需求,但是却不会增加需求范围之外的任何灵活性以及相应的复杂度
5、为变量指定单一用途