编程匠艺笔记

编程匠艺笔记

ID:41033567

大小:144.50 KB

页数:45页

时间:2019-08-14

编程匠艺笔记_第1页
编程匠艺笔记_第2页
编程匠艺笔记_第3页
编程匠艺笔记_第4页
编程匠艺笔记_第5页
资源描述:

《编程匠艺笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第一章善于防守使程序正确和使程序能用的区别:1.编写在大多数情况下都能用的代码是很容易的,它对常规的输入集会产生常规的输出集;2.正确的代码绝对不会崩溃,对于所有的输入集,它的输出都将是正确的;3.并非所有正确的代码都是优秀的代码,因为有些正确的代码的逻辑可能很难理解,难以维护。在编写代码的时候,你会很容易产生很多设想,例如程序应该如何运行、如何调用、如何输入等。我们经常有以下3种常见的设想:1.这个函数“绝对不会”被那样调用,传递给我的参数总是有效的;2.这段代码肯定会“一直”正常运行,它绝对不会产生错误;3.如果我

2、把这个变量标记为“仅限内部使用”,就没有人尝试访问这个变量。不要做任何设想,没有记录下来的设想会不断的制造缺陷,特别是随着代码的增长。凡是可能出错的事,准会出错。防御性编程是一种细致、拘谨的编程方法。为了开发可靠的软件,我们要设计系统的每个组件,以使其尽可能的“保护”自己,我们通过明确的在代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止我们的代码被以一种错误的方式调用。防御性编程不是检查错误,不是测试,也不是调试。对于防御性编程的反对观点:1.降低了代码开发的效率;2.混淆了代码的职责,代码在执行必要的

3、业务逻辑外,也要对各种设想进行判断。对于防御性编程的支持观点:1.节省大量的调试时间;2.编写可以正确运行、只是速度有些慢的代码,要好于编写那些大多数时间都正常运行、但是有时会崩溃的代码;3.我们这里所考虑的大部分防御性措施,并不具有任何明显的性能开销;4.防御性编程避免了大量的安全问题。我们可以使用一些编程技巧来进行防御性编程使用好的编码风格和合理的设计。这样可以防范大多数的编码错误。最好地计算机程序的文本是结构清晰的。不要仓促的编写代码。要三思而后行,一方面,要对将要写的代码出现的各种可能情况进行分析;另一方面,一

4、定要在完成与一个代码段相关的所有任务后,再进入下一个环节。不要相信任何人。不要设想所有的一切都运行良好,或者所有的代码都能正确的运行,用怀疑的眼光审视所有的输入和输出,知道你能证明它们是正确的。编码的目标是清晰,而不是简洁。请保持代码简单。不能维护或者难以维护的代码是不安全的。不要让任何人做他们不应该做的修补工作。内部的事情就应该留在内部。在开始编码时就应用防御性策略,要比改进代码时才使用容易的多。编译时打开所有警告开关。编译器的警告可以捕捉到很多愚蠢的编码错误。在任何情况下都应该打开你的编辑器的警告功能,警告的出现总

5、是有原因的。使用静态分析工具。使用安全的数据结构。检查所有的返回值。不要让错误悄无声息的侵入你的程序;忍受错误会导致不可预知的行为。不论何时,都要在适当的级别上捕获和处理相应的一场。审慎的处理内存和其他宝贵的资源。对于在执行期间获取的任何资源,必须彻底释放。不要因为觉得操作系统会在你的程序退出时清除程序,就不注意关闭文件或者释放内存。在声明位置初始化所有变量。即应该将变量的声明和初始化放在一起,这样可以放置对未初始化的变量进行操作。尽可能推迟一些声明变量。可以使变量的声明位置和使用它的位置尽量接近,从而防止它干扰代码的

6、其他部分。不要在多个地方重用一个临时变量,变量重用会使以后对代码重新完善的工作变得一场复杂。使用标准语言工具。使用好的诊断信息日志工具。审慎的进行强制转换。强制转换不仅可能会造成转换一场,还可能造成变量的精度发生变化。我们可以使用约束来对我们的设想进行验证。约束分为:1.前置条件;2.后置条件;3.不变条件;4.断言。优秀的程序员:1.关心他们的代码是否健壮;2.确保每个设想都显式的体现了防御性代码中;3.希望代码对无用信息的输入有正确的行为;4.在编程的时候认真思考他们所编写的代码;5.编写可以保护自己不受其他人的愚

7、蠢伤害的代码。糟糕的程序员:1.不愿意去考虑他们的代码出错的情况;2。为集成才发布可能出错的代码,并希望别人会找到错误;3.将关于如何使用他们代码的信息仅仅攥在手里,并随时都可能将其丢弃;4.很少思考他们正在编写的代码,从而产色很难干不可预知和不可靠的代码。第二章精心布局编码的风格曾经是、现在是、将来也将继续是程序员之间信仰之争的主题之一。编程样式极大的影响了代码的可读性,没有人愿意使用读不懂的代码。我们的代码一般有3类读者:1.我们自己,我们不仅需要能够读懂刚刚写下的代码,也需要在多年之后仍然能够明白它的意思;2.编

8、译器,关注语法,不关注样式;3.其他人,这类人最重要,也最容易被忽视。什么是好的样式?1.一致;2.传统,采取一种业内流行的样式;3.简洁。括号的样式风格:1.K&R风格;2.悬挂式风格;3.缩进式风格;4.其他风格。好的样式风格不止一种,各种风格的品质和适用性取决于使用的环境和文化背景。选择一种好的编码风格,并坚持使用它。多种风

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。