有这样一种关于信息封装和面向对象编程的有用技能,但有时候它们被带远了。这些技术让一个人抽象地编码并预计变数。然而,我个人认为,你不应该写太多推测性的代码。例如,在一个对象里用增量器和访问器隐藏一个整数变量是一种可接受的风格,这样变量本身就没有暴露,仅仅暴露了很少的关于它的接口。这确实允许了变量的实现的改变不影响调用代码,并且可能对一个必须提供一个稳定 API 的库编写者是合适的。我不认为这种好处会超过其冗长的代价,特别是当我的团队拥有调用代码并因此可以把调用器重构为比原来的更容易时。四到五行多余的代码会是这种推测性好处的沉重代价。