从今开始坚持记录读书感悟。
《代码大全》绝对是一本好书,可惜翻译了这么个名字。
1、隐藏设计决策对于减少“改动所影响的代码量”而言是至关重要的。
例:假若有一个程序,每个对象都有一个为id的成员变量保存唯一的ID。若使用全局变量id = ++g_maxId, 如果要维护id的话就需要修改每个与此相关的语句,如果是多线程,这个也不是线程安全的(thread-safe).
如果改为id = NewId(), return ++g_maxId作为NewId()子程序就可以变为只修改一处来维护id。
也可以使用typedef IdType来实现对id类型的维护。
信息隐藏在设计的所有层次上都有很大的作用--从用具名常量替代字面量(literal),到穿件数据类型,再到类的设计、子程序的设计以及子系统的设计等等。