ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

程序员修炼之道阅读笔记

2022-06-10 09:04:25  阅读:174  来源: 互联网

标签:断言 程序 笔记 程序员 修炼 配平 异常 资源


第二十二节:死程序不说谎

对待程序我们通常会有“它不会发生”的心理状态,这会导致我们忽视一些问题。对于注重实效的程序员来说,如果我们忽略了一个错误,将是非常糟糕的事情。

对于程序员来说,崩溃往往比破坏更容易让人接受。当代码发生认为不可能的事情时,那么系统已经崩溃了。

正确认识死程序,死程序的危害比有问题的程序危害要小。

第二十三节:断言式编程

如果它不可能发生,用断言确保它不会发生。

使用断言进行代码的检查,排除错误,但传入断言的代码不应该有附条件;但不能使用断言代替错误处理。

让断言开着:检查你任何疏漏的错误

第二十四节:何时使用异常

异常很少应作为程序的正常流程的一部分使用,异常应该保留给意外情况。如果移除了所有的异常处理器,代码就无法运行,那说明异常正在被用于非异常情况中。

是否应该使用异常取决于实际情况。比如打开文件,文件不存在,是否应该发生异常?如果文件应该在那里,那么异常就有正当理由。如果不确定文件是否在那里,返回错误就可以了。

第二十五节:怎样配平资源

对于资源的分配:要有始有终。使用资源,分配资源,解除占用。

对于资源的占用有始有终,但在一些语言中可以扩展这个概念。对资源进行嵌套分配:①以与资源分配相反的次序解除资源占用;②在不同地方分配同一资源时,以相同的次序进行分配,降低死锁的可能性。

异常的配平需要避免违反 DRY 原则。例如文件打开的异常情况,会导致 try..catch 有两条路径,那如何避免在正常流程和 catch 流程都处理 error 情况呢?C++ 可以依赖对象自动析构的特性,Java 可以依赖 finally子句。

无法配平资源时,为内存设立语义不变项,接触顶层结构,可在动态分配的对象上实现可计数方案。

标签:断言,程序,笔记,程序员,修炼,配平,异常,资源
来源: https://www.cnblogs.com/zlyyds/p/16247518.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有