自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 哈工大软件构造碎碎练

Map<String, Double> getVoteResult(计算参数, CalculateType calculator) {public Map<String,Double> calculate(计算参数);public Map<String,Double> calculate(计算参数){*@param calculator 用户指定的计算投票结果的calculator。//VoteResultCalculator接口的定义。//对于Poll中的getVoteResult方法。

2024-05-27 11:25:47 499

原创 哈工大软件构造六到十二章碎记

composition:最强的委派直接在构造器里面初始化委派或者是在private属性进行委派;aggragation:(集成)弱的委派,可以动态变化,将外部的委派名称作为参数传递给构造器。dependency:临时委派内部并不存储,可能是内部生成,也可能是外部生成 但是都不存储。观察等价性:observer,producer,creator变数器,生产器,观察器。任意字母或者数字(包含了_) [a-z][A-Z]_[0-9]association:永久性委派;对于基本数据类型 == 可以判断值是否相等;

2024-05-27 11:22:40 571

原创 哈尔滨工业大学软件构造第五章

如果调用状态的前提条件成立,则该方法必须遵守后条件,返回适当的值,抛出指定的异常,修改或不修改对象,等等;单纯看代码不足以判断不同的实现是否是等价的,因此应该根据代码的规约判定行为等价性,并且在编写代码之前,需要弄清楚规约如何协商形成、如何撰写。程序员可以在规约的范围内自由选择实现方式,这对于实现者能够提高算法的性能、代码的清晰度,或者在发现错误时改变方法等来说至关重要。而作为方法的客户端,无需知道方法内部是如何实现的。看是否出现了用户需要的值,如何没有找到,返回值都不是用户需要的值,那么行为就是等价的。

2024-05-27 11:20:42 1295

原创 哈尔滨工业大学软件构造第四章

堆:存储的是数组和对象(数组也是对象),凡是new建立的都是在堆中,堆中存放的都是实体(对象),实体用于封装数据,而且是封装多个(实体的多个属性),如果一个数据消失,这个实体也没有消失,还可以用,所以堆是不会随时释放的。栈:栈是一片内存区域,存储的是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量);防御性拷贝的关键就在于不把原本类中的对象提供给调用者,而是创建一个跟封装的类中相同的对象返回给调用者,这样,你对这个参数进行修改的时候跟封装类内部的相关参数无关,也就不会改变类中的参数。

2024-05-27 11:16:39 1423

原创 哈尔滨工业大学软件构造第三章

每次更新时,没有修改的文件直接将指针指向旧版本,而修改过的文件使用新的指针来指向即可,速度快。git的所有操作都是在一个图数据结构上进行的,git对象图存储在存储库的.git目录中。评测(profile)是一种动态程序分析形式,用于测量程序的空间(内存)或时间复杂性、特定指令的使用情况,或函数调用的频率和持续时间。重构:在不改变功能的前提下优化代码,要可以兼容以前版本,既不改变软件的内部结构,也不改变软件的外部行为。选择合适的过程模型的依据:用户参与程度(适应变化的程度)、开发效率(复杂度)、软件质量。

2024-05-27 11:09:03 539

原创 哈尔滨工业大学软件构造第二章

5. 路径覆盖(Path coverage):检查测试是否覆盖了程序中的每一条可能的执行路径,即是否每个分支的组合都被测试了至少一次,以确保程序的各种执行路径都得到了测试。3. 分支覆盖(Branch coverage):检查测试是否覆盖了程序中的每个条件分支,例如 if、while、switch-case、for 等语句中的真假分支是否都被执行了至少一次。2. 语句覆盖(Statement coverage):检查测试是否覆盖了程序中的每一条语句,即每条语句是否至少被执行一次。

2024-05-27 11:06:51 117

原创 哈尔滨工业大学软件构造笔记第一章

(sequence diagram)(主要关注程序单元之间的交互)、运行时栈跟踪(execution stack trace)( 用日志方式记录程序执行的调用次序)。可复用的模块被组织为库。代码如何在逻辑上被基本的程序块,例如函数、类、方法、接口等组织起来,以及其之间的依赖关系。软件系统中的实体如文件、包、容器、库随时间如何变化,或称版本如何变化。健壮性:出现规约定义之外的情形的时候,软件要做出恰当的反应。代码在时间上的变化,例如代码行的增加、删除和修改。正确性:软件的行为要严格的符合规约中定义的行为。

2024-05-18 16:42:32 1289

原创 大家好,我是代码小丑

大家好,我是代码小丑。

2024-03-11 16:50:50 344

空空如也

空空如也

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

TA关注的人

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