未来式思维
未来式思维只不过是加上一些额外的考虑:
-
提供完整的classes——即使某些部分目前用不到。当新的需求进来,你不太需要去回头修改那些classes;
比如:【C++ Efficiency】over-eager evaluation的两种做法:caching和prefetching -
设计你的接口,使有利共同的操作行为,阻止共同的错误。让这些classes轻易地被正确运用,难以被错误运用;
-
尽量使你的代码一般化(泛化),除非有不良的巨大后果。
所谓在未来时态下设计程序,就是接受“事情总会改变”的事实,并准备应因之道。