摘要:
在错误的发生点上退出模块(可能伴随着重启模块)。退出模块前往往需要先释放资源、保存关键数据、记录日志,等等。该方案的前提是在错误的发生点的上下文中必须要能够释放所有资源,要能够保存关键数据。要满足这个前提,可以用一个全局的沙盒来保存整个模块到当前为止申请的所有资源,从而在任何出错点上都可以将这个沙盒整个释放掉。也可以用智能垃圾收集,这样在出错点上只要记录日志和保存数据,把扫尾工作留给智能垃圾收集器... 阅读全文
摘要:
Most of the times, we’re learning just a little too much. We’re attracted to interesting stuff like a moth to a flame. Or oftentimes we just learn what everybody else around us is learning or what we’... 阅读全文
摘要:
摘自:学习C++:实践者的方法 事实10:一旦我们熟悉了一门语言之后,就容易不知不觉地在其框架下思考,受到语言特性的细节的影响,作出second-class的设计。 对于像C++这样的在抽象机制上作了折衷的语言,尤其如此,思考容易受到语言机制本身细节的影响,往往在心里头还没想好怎么抽象,就已经确定了使用什么语言机制乃至技巧;更有甚者是为了使用某个特性而去使用某个特性。然而,实际上,我们应该—... 阅读全文