按合约设计:感觉这个DBC限制太严格了,有点受不了。这样做是否值得?代价是不是有点大?然后按照合约去进行设计。
死程序不说谎:早崩溃。发现问题,就要让它在问题的现场崩溃,不要跑到调用的栈顶再告诉你发生了什么。
何时使用异常:将异常用于异常的问题。在我们编写程序的时候会遇到各种各样的问题,遇到这些问题的时候不要着急,我们需要自己进行百度去搜素这些问题,那里面会有很详细的告诉你该怎么样去解决这个异常,当我们搜素的次数变多时,再遇到异常时也会变得从容不迫,显现的没有压力;
怎样配平资源:分配资源的例程要负责释放它。以与资源分配的次序相反的次序解除资源的分配。因为先后2个资源可能会有依赖关系。相同的顺序分配同一组资源。降低死锁的机率。要会用try{ } finally{ }要学会Dispose()
使耦合减至最少得墨忒耳法则
某个对象的任何方法都应该只调用属于以下情况的方法:
1)这个对象自己拥有的方法;
2)传入该方法的参数的方法;
3)该方法创建的对象的方法;
4)该对象直接拥有的对象的方法;
黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的分析去更新黑板上的信息,从而影响其它专家。黑板模式的应用场景是要解决的任务可以分为多个子任务。
当我们在编码的时候,考虑的编码速率主要是用O()表示,不需要我们去考虑;
现在的IDE中的重构功能已经相当强大,真是太方便了。如果IDE里不支持重命名的重构,我会疯掉的。
如果发现了这些情况,说明需要重构了:重复、非正交的设计、过时的知识、性能。
1)不要试图在重构的同时加入新功能。
2)在开始重构前,确保你拥有良好的测试。
3)采用短小、深思熟虑的步骤,每一步都执行一遍你的单元测试代码。