五. 实现
26. 尽可能延后变量定义式的出现时间
请注意:
尽可能延后变量定义式的出现,这样做可增加程序的清晰度并改善程序效率。
解释:
-
增加程序的清晰度:这样可以让读者在第一时间内更好地理解变量的用途。变量定义在第一次使用的地方,可以清晰地看到其类型和初始值。如果变量在几页代码之前就已被定义,那么读者可能需要花费更多的时间在代码文件中寻找其定义和初次使用的地方,这对代码的阅读是不友好的。
-
改善程序效率:如果变量在定义的时候就初始化,那么可能会对性能产生影响,因为这实际上创建了变量并分配了内存,而在很多情况下,这都可能是不必要的。与之相反,将变量的定义和初始化处理延后到真正需要它的地方,这可以避免不必要的计算和内存分配,从而可以提高程序效率。
-
避免不必要的副作用:许多时候,对象的构造函数可能会产生副作用。在对象真正需要之前,其构造函数可能产生一些不必要的副作用。因此,将变量的定义延后,直到真正需要这个对象,可以帮助我们避免这些可能的问题。
综上,尽可能地延后变量定义式的出现,可以使代码更容易阅读和理解,也有助于提高代码质量和执行效率。
27. 尽量少做转型动作
请注意:
- 如果可以,尽量避免转型,特别是在注重效率的代码中避免 dynamic_casts。如果有个设计需要转型动作,试着发展无需转型的替代设计。
- 如果转型是必须的,试着将它隐藏于某个函数背后。客户随后可以调用该函数,而不需要将转型放进他们自己的代码内。
- 宁可使用C+±style(新式)转型,不要使用旧式转型。前者很容易辨识出来,而且也比较有着分门别类的职掌。
解释:
在编程中,类型转换的滥用可能导致代码难以理解和维护,而且往往可