代码大全阅读随笔(四)

防御式编程
最终产品代码中对错误的处理方式要比“垃圾进,垃圾出” 复杂的多。
防御式编程技术可能让错误更容易发现,更容易修改,并减少错误对产品代码的破坏。
断言可以帮助人尽早的发现错误,尤其是在大型系统和高可可靠性的系统中,以及快速变换的高层次设计代码决策。
异常提供了一种与代码正常流程不同的错误处理手段。如果留心使用异常,他可以成为程序员们知识工具箱中的一箱有益的补充,同时也应该在异常和其他错误处理手段之间进行权衡比较。
针对产品代码的限制并不适用于开发中的软件。你可以利用这一优势在开发中添加有助于更快的排查错误的代码。

伪代码编程过程
设计子程序——编写子程序的代码——检查代码——收尾工作——按照需要重复上述步骤
是否检查过以满足所有的先决条件。
定义好这个类要解决的问题了吗?
高层次的设计是否足够清新,能给这个类和其中的每一个子程序起一个好的名字吗?
考虑过如何测试这个类及其中每一个子程序了吗
关于效率的问题,你主要从稳定的接口和可读的实现这两个角度考虑吗?还是主要从满足资源和速度的预期目标的角度考虑过呢?
在标准库函数或者其他代码库中寻找过可用的子程序或者组件了吗?
在参考书籍中查找过有用的算法了吗?
是否用尽的伪代码设计每一个子程序?
你在脑海里边检查过伪代码吗?这些伪代码容易理解吗?
关注过那些可能会让你重返设计的警告信息了吗?
是否把伪代码正确翻译成代码了?
你反复使用了伪代码编程了吗。有没有根据需求把一些子程序拆分成更小的子程序。
在做出假定的时候,有没有对他们加一说明,
已经删除了那些冗余的注释了吗?
你是否蚕蛹了几次迭代中,使用最好的结果,还是在第一次迭代后就停止了?
你完全理解你的代码了吗?这些代码是否更容易理解?

你可能感兴趣的:(c#)