状态变量用于描述你的程序的状态。
为状态变量取一个比flag更好的名字,标记的名称不应该有flag,因为你从中丝毫看不出该标记是做什么的。
为了清楚可见,标记应该用枚举类型、具名常量。
示例:标记命名很差,含义模糊的标记
if(flag){...}
if(printFlag==16){...}
flag=0x01;
printFlag=16;
示例:更好地使用状态变量
if(dataReady){...}
if(printFlag==ReportType_Annual){...}
rintFlag=ReportType_Annual
显然if(dataReady){...}要比if(flag){...}更清晰,与之类似if(printFlag==ReportType_Annual){...}要比if(printFlag==16){...}更清晰。
下面的例子展示了如何使用具名常量和枚举类型来组织例子中的数值:
const int LETTER=0X01;
const int LINE_DRAW=0x08;
enum ReportType
{
ReportType_Monthly,
ReportType_Annual,
ReportType_All
}
如果你发现自己需要猜测某段代码的含义时,就该考虑为变量重新命名,你没必要去猜测代码,你应该能直接读懂它们。