C++ 泛化
在某种程度上,基60和基10之间相互转换的难度比处理时间转换要大。基转换更抽象,直觉告诉我们直接处理时间更好。
但是,如果我们意识到可以把时间当做基60的数,并花时间来写一个转换函数(convertToSeconds和makeTime),我们的程序就会更简短、更易读、更易调试、更可靠。
此后添加更多特性也变得更容易。例如两个时间相减求时间差。最简单的做法是通过借位实现减法。使用转换函数将更容易做,且更不易出错。
具有讽刺意味的是,有时把问题变得更难(更具通用性)反而使其更易解决(更少特例,更少出错)。