![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记-代码大全(第二版)
文章平均质量分 74
蜗牛lz
这个作者很懒,什么都没留下…
展开
-
第三章-三思而后行:前期准备
第三章-三思而后行:前期准备 一、需求 1.为什么要有正式的需求 (1)明确需求有助于确保用户(而非程序员)驾驭系统的功能。避免程序员在编程期自行决定需求。 (2)重视需求有助于减少开始编程开发之后的系统变更情况。如果在编码阶段发现需求错误,你可能得改变设计,重新编码,重新测试。花费大量时间。 2. 需求分析阶段主要考虑的问题 a功能需求: (1)系统的输入输出原创 2014-10-09 16:16:40 · 751 阅读 · 0 评论 -
第十四章--组织直线型代码
第十四章--组织直线型代码 14.1--必须有明确顺序的语句 直线型代码:顺序执行的语句和语句块。前后语句存在依赖性。 (1)设法组织代码,使依赖关系变得非常明显。 (2)使子程序名能凸显依赖关系。 (3)利用子程序参数明确显示依赖关系。 (4)用注释对不清晰的依赖关系进行说明。 (5)用断言或者错误处理代码来检查依赖关系。 14.2--顺序无关的语句 顺序的原创 2014-10-10 08:47:41 · 690 阅读 · 0 评论 -
第十一章--变量名的力量
第十一章--变量名的力量原创 2014-10-10 08:42:12 · 762 阅读 · 0 评论 -
第十章--使用变量的一般事项
第十章--使用变量的一般事项 10.2--轻松掌握变量定义 1. 隐式声明:对于任何一种语言来说,隐式声明都是最具危险性的特性之一。对于支持隐式声明的几条处理建议: (1)关掉编译器的隐式声明。 (2)声明全部的变量。 (3)遵循某种命名规则。 (4)检查变量名。使用编译器或者第三方工具生成的交叉引用列表。 10.3--变量初始化原则 1. 不恰当的变量初始化所原创 2014-10-10 08:40:38 · 922 阅读 · 0 评论 -
第八章--防御式编程
第八章--防御式编程 8.1--保护程序免遭非法输入数据的破坏 “垃圾进、垃圾出”已经成为缺乏安全性的差劲程序的标志。 通常有三种方法来处理进来垃圾的情况。 (1)检查所有来源于外部的数据的值。 如取值范围、字符串长度、取值是否合乎用途等。 (2)检查子程序所有输入参数的值。 (3)决定如何处理错误的输入数据。 8.2--断言 断言:是指在开发原创 2014-10-10 08:36:49 · 1141 阅读 · 0 评论 -
第七章--高质量的子程序
第七章--高质量的子程序 低质量的子程序举例: (1)命名差劲,不能反映语义。 (2)无文档 (3)程序布局风格不好 (4)输入变量被改变 (5)读写了全局数据 (6)程序功能不单一,复杂。 (7)没有注意防范错误数据。如没有除零检查等。 (8)使用了神秘数据,如100,1,2这种让人摸不着头脑的数据。 (9)传入的参数没有被使用 (10)参数传递方式错误 (11)参数太多原创 2014-10-10 08:33:00 · 1319 阅读 · 0 评论 -
第六章--可以工作的类
第六章--可以工作的类 6.1--类的基础:抽象数据类型(ADTs) 一、抽象数据类型ADTs 1:抽象数据类型是指一些数据以及对这些数据进行的操作的集合。 不懂ADT的程序员开发出来的类只不过是把一些稍微有点关系的数据和子程序堆在一起!!!在理解ADT之后,才可以写出很容易实现,也易于维护的类来。 2.使用ADT的益处 (1)可以隐藏原创 2014-10-10 08:29:34 · 1005 阅读 · 0 评论 -
第十五章--使用条件语句
第十五章--使用条件语句 15.1--if语句 1.简单的if-then语句 在写if语句的时候,请遵循以下原则: (1)首先写正常代码路径,再处理不常见的情况; (2)确保等量的分支是正确的。如不要用“>” 代替“>=”,不要犯下off-by-one(偏差一)的错误。 (3)把正常情况的处理放在if后面而不要放在else后面。 (4)让if子句后面跟随一个有意义的语句。如避原创 2014-10-10 08:46:36 · 613 阅读 · 0 评论 -
第十六章--控制循环
第十六章--控制循环 16.1--选择循环的种类 1.在大多数语言中,你只能用到少数几种循环: (1)计数循环:执行次数一定。 (2)连续求值的循环:预先并不知道将要执行多少次,它会在每次迭代时检查是否应该结束。 (3)无限循环:一旦启动就一直执行下去。 (4)迭代器循环:对容器类里面的每个元素执行一次操作。 2.什么时候使用while循环 (1)如果你不知道循原创 2014-10-10 08:50:02 · 850 阅读 · 0 评论 -
第十三章--不常见的数据类型
第十三章--不常见的数据类型 13.1--结构体 使用结构体的理由: (1)用结构体来明确数据关系。结构体把相关联的数据聚集在一起。 (2)用结构体简化对数据块的操作。如将一个结构体作为参数,而不是一堆的参数。 (3)用结构体来简化参数列表。 (4)用结构体来减少维护。因为结构体将相关数据组织在一起,所以改变结构体只需要对程序做很少的修改。 13.2--指针 1.用来理原创 2014-10-10 08:46:04 · 743 阅读 · 0 评论 -
第九章--伪代码编程过程
第九章--伪代码编程过程 9.1 创建类和子程序的步骤概述 1. 创建一个类的步骤(是个迭代过程): (1)创建类的总体设计。 (2)创建类中得子程序。 (3)复审并测试整个类。 2. 创建子程序的步骤(是个迭代的过程): (1)设计子程序 (2)检查设计 (3)编写子程序代码 (4)复审并测试代码 9.2 伪代码 1.下面是一些有效使用伪代码的指导原则原创 2014-10-10 08:38:29 · 2816 阅读 · 0 评论 -
第五章--软件构建中的设计
5.1-5.2--设计相关概念 一、理想设计的特征 设计范畴内的特征有: (1)最小复杂度:设计应该简单且易于理解。 (2)易于维护 (3)松散耦合:合理抽象、封装、信息隐藏,设计出相互关联尽可能少得类。 (4)可扩展性 (5)可重用性 (6)高扇入:让大量的类使用某个给定的类(如工具类)。 (7)低扇入:一个类里适量使用其他类。 (8)可移植性 (9)精简性 (1原创 2014-10-09 16:21:31 · 691 阅读 · 0 评论 -
第十七章--不常见的控制结构
第十七章--不常见的控制结构 17.1--子程序中的多处返回 程序可以通过return和exit这类控制结构,在任何需要的时候退出子程序。下面给出一些使用return语句的指导原则。 (1)如果能增强可读性,那么就使用return。在某些子程序里,一旦知道了答案,就希望马上返回到调用方子程序。 (2)用防卫子句(早返回或早退出)来简化复杂的错误处理。可避免代码缩进层次过深,并且遮蔽原创 2014-10-10 08:51:22 · 720 阅读 · 0 评论