自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 第二十四章 重构

重构简介重构定义:在不改变软件外部行为的前提下,对其内部结构进行改变,使之更容易理解以便于修改;尽可能地将一个程序分解为多个组成部分。重构的理由代码重复;冗长的子程序;循环过长或嵌套过深;类的接口未能提供层次一致的抽象;拥有太多参数的参数列表;类的内部修改往往被局限于某个部分;变化导致对多个类的相同修改;对继承体系的同样修改;case语句需要做相同的修改;...

2019-09-22 20:37:00 143

转载 第二十三章 调试

调试时确定错误根本原因并纠正此错误的过程。调试概述让你有所收获的软件缺陷理解你正在编写的程序;明确你犯了哪种类型的错误;从代码的阅读者的角度分析代码质量;审视自己解决问题的方法;审视自己修正缺陷的方法;寻找缺陷科学的调试方法在运用经典的科学调试方法时,你会经历如下步骤:通过可重复的试验收集数据;根据相关数据的统计构造一个假说;设计一个实验来证明或反证则会个假...

2019-09-22 16:09:00 226

转载 第二十二章 开发者测试

单元测试是将一个程序员或者一个开发团队所编写的,一个完整的类、子程序或者小程序,从完整的系统中隔离出来进行测试;组件测试是将一个类、包、小程序或者其他编程元素,熊一个更加完整的系统中隔离出来进行测试,这些测试代码涉及到多个程序员或者多个团队;集成测试是对两个或更多的类、包、组件或者子系统进行的联合测试,这些组件由多个程序员或者开发团队所创建。这种测试通常在有了两个可以进行测试的类的...

2019-09-21 23:36:00 577

转载 第二十一章 协同构造

协同开发实践概要协同构建包括结对编程、正式检查、非正式技术复查、文档阅读,以及让其他开发人员共同承担创建代码及其他工作产品责任的技术。协同构建是其他质量保证技术的补充;协同构建有利于传授公司文化以及编程专业知识;集体所有权适用于所有形式的协同构建;在构建前后都应保持协作。结对编程成功运用结对编程的关键用编码规范来支持结对编程;不要让结对编程变成旁观;不要强迫在简...

2019-09-21 14:09:00 138

转载 第二十章 软件质量概述

本章从构建的角度来审视保障软件质量的技术。软件质量的特性正确性;可用性;效率;可靠性;完整性;适应性;精确性;健壮性;可维护性;灵活性;可以执行;可重用性;可读性;可测试性;可理解性改善软件质量的技术软件质量目标;明确定义质量保证工作;测试策略;软件工程指南;非正式技术复查;正式技术复查;外部审查。开发过程对变更进行控制的过程...

2019-09-21 12:47:00 189

转载 第十九章 一般控制问题

布尔表达式用ture和false做布尔判断;隐式地比较布尔值与true和false;简化复杂的表达式;拆分复杂的判断并引入新的布尔变量;把复杂的表达式做成布尔函数;用决策代替复杂的条件;编写肯定性质的布尔表达式;在if语句中,把判断条件从否定形式转换为肯定形式,并且互换if和else子句中的代码;用狄摩根定理简化否定的布尔判断;用括号使布尔表达式更清晰;...

2019-09-21 12:47:00 129

转载 第十八章 表驱动法

表驱动法是一种编程模式——从表里面查找信息而不使用逻辑语句(if和case)。表驱动法使用总则在适当的环境下,采用表驱动法,所生成的代码会比复杂的逻辑代码更简单、更容易修改,而且效率更高。使用表驱动法的两个问题使用表驱动法必须先解决两个问题。首先,你必须要回答怎样从表中查询条目的问题。其次是考虑在表中存些什么。直接访问表和所有的查询表一样,直接访问表代替了更为复杂的逻辑控制结...

2019-09-18 18:40:00 96

转载 第十七章 不常见的控制结构

子程序中的多处返回程序可以通过return和exit这类控制结构,在任何需要的时候退出子程序。如果能增强可读性,那么就使用return;用防卫子句(早返回或早退出)来简化复杂的错误处理;减少每个子程序中return的数量。递归在递归里面,一个子程序自己负责解决某个问题的一小部分,它还把问题分解成许多的小块,然后调用自己来分别解决每一小块。使用递归的技巧确认递归能够停...

2019-09-18 18:40:00 118

转载 第十六章 控制循环

选择循环的种类在大多数语言中,你只能用到少数几个循环:计数循环执行的次数是一定的,可能是针对每位雇员执行一次;连续求值的循环预先并不知道将要执行多少次,它会在每次迭代时检查是否应该结束;无限循环一旦启动就会一直执行下去;迭代器循环对容器内的每个元素执行一次操作。什么时候使用while循环如果你预先并不知道循环要迭代多少次,那么就使用while循环。检测位于循环的开始...

2019-09-18 13:20:00 113

转载 第十五章 使用条件语句

条件语句用于控制其它语句是否执行if语句简单if-then语句在写if语句的时候请遵循下述指导原则:首先写正常代码路径,再处理不常见情况;确保对于等量的分支是正确的;把正常情况的处理凡在if后面而不要放在else后面;让if子句后面跟随一个有意义的语句;考虑else子句;测试else子句的正确性;检查if和else子句是不是弄反了。if-then-else语句串...

2019-09-17 17:18:00 103

转载 第十四章 组织直线型代码

必须有明确顺序的语句如果语句之间存在依赖关系,并且这些关系要求你把语句按照一定的顺序加以排列,那么请设法使得这些关系变得明显。设法组织代码,使依赖关系变得非常明显;使子程序名能凸显依赖关系;利用子程序参数明确显示依赖关系;用注释对不清晰的依赖关系进行说明;用断言或者错误处理代码来检查依赖关系。顺序无关的语句使代码易于自上而下地阅读;把相关语句组织在一起。核对表...

2019-09-17 15:36:00 113

转载 第十三章 不常见的数据类型

结构体使用结构体的理由:用结构体来明确数据关系;用结构体简化对数据块的操作;用结构体来简化参数列表;用结构体来减少维护。指针使用指针的一般技巧正确地使用指针要求程序员采用一种双向策略。第一,要首先避免造成指针错误;第二,在编写代码之后尽快检测出指针错误。把指针操作限制在子程序或类里面;同时声明和定义指针;在与指针分配相同的作用域中删除指针;在使用指针之前删除...

2019-09-16 17:45:00 158

转载 第十二章 基本数据类型

数值概论下面一些建议能够使你在使用数的时候少犯错误。避免使用神秘数值修改会变得更可靠;修改会变得更容易;你的代码变得更可读。如果需要可以使用硬编码的0和1;预防除零错误;使类型转换变得明显;避免混合类型的比较;注意编译器的警告。整数在用整数的时候,要注意下面的注意事项。检查整数除法;检查整数溢出;检查中间结果溢出。浮点数使用浮点数应遵循的原则...

2019-09-14 22:20:00 121

转载 第十一章 变量名的力量

选择好变量名的注意事项一个好的变量名是可读的、易记得得和恰如其分的。最重要的命名注意事项最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事物。通常,对变量的描述就是最佳的变量名。以问题为导向一个好记的名字反映的通常是问题,而不是解决方案。最适当的名字长度当变量名的平均长度在10到16个字符的时候,调试程序所需花费的力气是最小的。平均名字长度在8到20个字符的程序...

2019-09-13 19:00:00 176

转载 第十章 使用变量的一般事项

本章中用“变量”一词同时指代对象和内置数据类型,如整数和数组等。“数据类型”一词通常指内置数据类型,而“数据”一词则可能代表对象,也可能代表内置数据类型。数据认知创建有效数据的第一步是了解所要创建的数据种类。积累大量的数据类型对于程序员来说至关重要。有关数据类型的更多资源Cormen《Introduction to Algorithm》Sedge wick《Algorithm ...

2019-09-13 12:06:00 163

转载 第九章 伪代码编程过程

本章从微观上关注编程过程——也就是关注创建单独的类及其子程序的特定步骤。本章还将讲述伪代码编程过程,这种编程有助于减少设计和编写文档所需的工作量,同时提高这两项的工作质量。创建类和子程序的步骤概述先对一个类做总体设计,列出这个类内部的特定子程序,创建这些子程序,然后从整体上复查这个类的创建结果。创建一个类的步骤创建一个类的关键步骤如下:创建类的总体设计;创建类中的子程序;...

2019-09-12 16:39:00 616

转载 第八章 防御式编程

防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。更一般地说,其核心思想是要承认程序会有问题,都需要被修改,聪明的程序员应该根据这一点来编程序。保护程序免遭非法输入数据的破坏通常有三种方法来处理进来垃圾数据:检查所有来源于外部数据的值;检查所有子程序输入参数的值;决定如何处理错误的输入参数。断言断言是指在开发期间使用的、让程序...

2019-09-12 14:15:00 234

转载 JMeter简介

JMeter是Apache组织开发的基于Java的压力测试工具。它可以用于测试静态和动态资源,可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。JMeter下载地址https://jmeter.apache.org/download_jmeter.cgi下载完毕后解压到任意文件夹,打开apache-jmeter-5.1.1\bin\Apa...

2019-09-11 13:41:00 175

转载 第七章 高质量的子程序

子程序是为实现一个特定的目的而编写的一个可被调用的方法(method)或过程(procedure)。创建子程序的正当理由这里列出一些创建子程序的正当理由:降低复杂度引入中间、易懂的抽象避免代码重复支持子类化隐藏顺序隐藏指针操作提高可移植性简化复杂的布尔判断改善性能除此之外,创建类的很多理由也是创建子程序的理由隔离复杂度隐藏实现细节限制变化所带来的影响...

2019-09-11 10:17:00 181

转载 第六章 可以工作的类

类是由一组数据和子程序构成的集合,这些数据和子程序共同拥有一组内聚的、明确定义的职责。类的基础:抽象数据类型(ADT)抽象数据类型是指一些数据以及对这些数据所进行的操作的集合。使用ADT的益处:可以隐藏实现细节、改动不会影响到整个程序、让接口提供更多信息、更容易提高性能、让程序的正确性更显而易见、程序更具自我说明性、无需在程序内到处传递数据、可以像在现实世界中那样操作实体,而不用在...

2019-09-11 10:15:00 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除