首页 > 其他分享 >读书笔记——代码大全1

读书笔记——代码大全1

时间:2023-06-09 21:13:26浏览次数:46  
标签:读书笔记 代码 接口 隔栏 错误处理 数据 子程序 大全

1.       用错误处理代码来处理预期会发生的状况,用断言来处理绝不应该发生的状况。

2.       隔栏:以防御式编程为目的而进行隔离的一种办法,就是把某些接口选定为“安全”的区域边界,对穿越安全边界的数据进行合法性的校验,并当数据非法时做出敏锐的反映。

3.       隔栏的使用让断言和错误处理有了清晰的区分,隔栏外部的程序应使用错误处理技术,在那里对数据做的任何假定都是不安全的。在隔栏内部的程序就应该使用断言技术,因为传进来的数据应该在通过隔栏时就已经被清理过了。如果隔栏内部的某个子程序检测到了错误的数据,那么应该是程序里的错误而不是数据里的错误。

4.       用预处理器来选择性的编译代码,可以让调试代码不备被译。调试的时候如果要兼顾到性能,可以生成方法存根,让这个方法快速的返回一个值。

5.       在设计一个类时,检查每一个公共程序,看是否需要一个互补的操作。

6.       类的接口应该实现一致的抽象层次。每一个类都要实现一个ADT,而且仅实现这个ADT。

7.       把不相干的信息转移到其它类中,如果你发现某一个类的一半子程序使用一半数据,而另一半子程序却使用了另一半数据,那么这其实是两个类,应该分开它们。、

8.       尽可能让接口可编程,而不是表达语义。每一个接口都有可编程部分和语义表达部分。语义表达部分说明该接口如何被使用,可以写成注释的方式,但最好是转换成编程接口的方式,比如用断言。

9.       预防在修改类时破坏类原有的抽象。在对类进行修改的过程当中,可能会增加一些额外的功能,这些功能并不十分适用于原有的接口(违反了实现一个ADT的原则)。

10.   不要添加与抽象接口不一致的公共成员,这样会破坏该类抽象的完整性。

标签:读书笔记,代码,接口,隔栏,错误处理,数据,子程序,大全
From: https://www.cnblogs.com/tqylqt/p/17470246.html

相关文章

  • 读书笔记——代码大全2
    第一章构建(写代码)是软件开发中非常重要的部分。还引用了一句话,艺术评论家聚在一起总是谈论架构,思想;艺术家聚在一起总是谈论在哪里可以买到便宜的树脂油。)构建的产品即源代码,是软件唯一的、最准确的说明书。(想到了一句话,程序员就是用代码(语言)说服计算机去做一些事情) 构建(作者不......
  • 读书笔记——代码大全3
    对于没有顺序关系的代码,应该通过排列代码增加代码的可读性。应该将相关的代码组织在一起,从而便于自上而下阅读。组织较好的代码应该可以划分成若干个不重叠(但是可能嵌套)的代码块,各自执行相关的功能。这一部分让我感触比较深。对于有明确顺序的代码通常我都会注意到将它们排列整齐......
  • 代码大全读书笔记
    需求分析:软件开发的第一步是理解客户的需求。对需求进行仔细的分析和定义非常重要,因为这些定义决定了软件系统的性能、功能和特性。设计:在设计阶段,我们需要考虑系统的结构,组件和模块,以及它们相互作用的方式。一个好的设计应该将复杂的系统分解为简单的部分,以便开发人员更容易......
  • 代码大全阅读笔记
    《代码大全2》是一本非常具有代表性和影响力的软件开发经典著作,由史蒂夫·麦康奈尔(SteveMcConnell)所著,第二版于2004年出版。在这本书中,作者对软件开发的各个方面进行了全面、详尽的讲解,内容包括需求分析、设计原则、编码实践、测试策略、维护建议等方面,简直可以说是一本涵盖了所......
  • 最优的素数判断代码(Python)是这样写出来的
    素数判断是个很经典的问题,各种语言的程序设计课程都会涉及到,按照素数定义(除了1和自身,素数没有其他因数)很容易写出下面的代码:defisPrime1(n):foriinrange(2,n):ifn%i==0:returnFalsereturnTrue功能完全没有问题,就是非常非常非常非常慢。......
  • Python代码覆盖性测试入门
    覆盖测试通过代码分析工具和跟踪钩子来判断哪些代码可执行以及哪些代码被执行了,是对单元测试的有效补充,可以用来判断测试的有效性。Python扩展库coverage可以实现对Python代码的覆盖测试,使用pip工具安装之后,可以使用命令“coveragerunfile.py”对Python程序file.py进行覆盖测试,然......
  • 几行Python代码打造自己的磁盘垃圾文件清理器
    本文假设某些特定类型的文件和大小为0的文件为垃圾文件,可以自由扩展代码的列表,也就是垃圾文件的类型。fromos.pathimportisdir,join,splitextfromosimportremove,listdir,chmod,statimportsys#指定要删除的文件类型filetypes=['.tmp','.log','.obj','.txt']d......
  • Python代码调试之异常回溯
    当发生异常时,Python会回溯异常,给出大量的提示,可能会给程序员的定位和纠错带来一定的困难,这时可以使用sys模块的exc_info()函数来回溯最近一次异常。sys.exc_info()的返回值tuple是一个三元组(type, value, traceback),其中:type——异常的类型value——异常的信息或者参数tr......
  • java集成chatGpt完整案例代码(效果和官网一样逐字输出)
    背景要集成chatGpt参考我上一篇文章即可。但是,如果要实现官网一样的效果,逐字输出,难度就提升了不少了。经过在官网的研究发现它应该是采用了SSE技术,这是一种最新的HTTP交互技术。SSE(Server-SentEvents):通俗解释起来就是一种基于HTTP的,以流的形式由服务端持续向客户端发送数据的......
  • 代码随想录算法训练营第十七天|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404
    110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]返回true。示例2:给定二叉树[1,2,2,3,3,nu......