一、变量的初始化
应该采用就近原则:在靠近变量第一次使用的位置初始化它。
以前编程是时有这样的习惯,在函数体开始处就把该函数所有需要的变量都申明并初始化,MS还挺结构化的,但用起来还不方便,使用变量的时候只能去函数体开始处寻找,比较费劲。
理想情况:在靠近变量第一次使用的位置申明并初始化它。
二、作用域
这里提到了2个概念:跨度、存活时间。虽然叫法不同,但实际意义都是一样的。
减小跨度:将变量的引用点都集中起来;
缩短存活时间:使读者在同一时间内考虑的代码行数越少,就越容易理解代码;
另外,对于书中提到的“方便性”和“智力可管理性”:我个人偏向于后者,侧重于读代码方便。
自己写的代码不光要自己看得懂,更要让别人看得懂,除非你愿意在以后的工作中能忍受不断地被人打扰。
当然,如果只是写个临时的小工具,那就无所谓了,无须浪费过多的时间在繁枝缛节上了(不要列纠结保持良好的代码习惯上了,K...我好像也有这个毛病)。
三、持续性
这部分很容易理解,以下就把书中的一些建议列举一下。
为避免在变量生命期结束后,仍然非法访问变量,可以采取以下措施。
1. 在程序中加入调试代码或断言,来检查关键变量的合理取值;
2. 准备抛弃变量时,给它们赋上不合理的数值,如nil等;
3. 假设变量都没有持续性;
4. 养成在使用变量之前申明和初始化的习惯(也就是前面说的就近原则);