2023年11月20日
挑选了程序员修炼之道中感兴趣的章节进行了阅读
第二十二节:死程序不会说谎
1、对待程序我们通常会有“它不会发生”的心理状态,这会导致我们忽视一些问题。对于注重实效的程序员来说,如果我们忽略了一个错误,将是非常糟糕的事情。
2、我们一些异常情况,我们应该及早崩溃,用于强调问题的存在。
3、引起崩溃的时候不要造成破坏,比如申请的资源还没有释放等情况。
4、死程序带来的额危害通常比有隐患的程序要小得多。
第三十节:黑板
1、设想侦探破案的过程,他借助于一块黑板,把不同线索写出来;其他侦探也可以写下自己的推断和已掌握的案情细节。所有这一切串联起来将共同帮助案件侦破,但不同的线索之间是可以独立进行的。
2、这里的黑板可以抽象为一种处理事件的模型。不同于原始的工作流需要考虑各种状况,不同组合,先后顺序等,黑板系统只管写入,读取,查询,通知等基础功能,任意符合条件的事件都可以进入这个系统。
3、黑板模型也是一种解耦形式。
第三十一节:靠巧合编程
1、靠巧合编程即代码正好是可运行的,至于为什么能够正常运行,却不清楚。这是我们应该极力避免的。
2、在打算重构某个看起来有问题的代码时,我们会面临这样的疑惑,是否有必要冒着把能工作的东西弄糟的风险呢?这时我们可以考虑一下几个理由:
- 它也许不是真的能工作,只是看起来能工作。kaoqiaohebiancheng
- 你依靠的边界条件也许只是一个巧合。
- 多余和没必要的调用会让你的代码变慢并增加新 bug 的风险。3、如何深思熟虑的编程,有以下建议:
- 总是意识到你在做什么。
- 按照计划(设计)行事。
- 依靠可靠的事物而非假设。
- 不要只是测试你的代码,还要测试你的假定。
- 不要让已经做完的事情限制你的下一步,做好重构的准备。