- 博客(10)
- 收藏
- 关注
原创 HIT 软件构造 知识点总结
1. 多维软件视图:Moment view: what do source code and component look like in a specific time 特定时刻的软件形态 – Period view: how do they evolve/change along with time 软件形态随时间 的变化2. 正确性是第一位的,不可以折中3. 5个质量目标:(1)容易理解;(2)可维护性和适应性好(3)可复用性好(4)健壮...
2021-07-08 06:18:01
457
原创 HIT 软件构造 Lab3 总结
1. 装饰器模式当需要将一个接口应用于不同的场景时,接口中的方法已经提供了场景间共性的部分。而每个场景的特性部分可以采用装饰器的设计方法。装饰器的结构示意图如下:在Decorator类中,其构造方法会将功能委派给一个Component对象来实现。其子类就可以选择性Override接口中的方法,从而添加特性。编写完毕后,对于每个场景的应用ADT,只需要像穿衣服一样,一层层包起来就行了。例如,如果同时需要A和B的特性,那么子类就声明这样一个对象:Component client = new
2021-07-06 21:34:24
300
原创 HIT 软件构造 LAB2 总结
1.规约的书写:认真书写规约可以有效地降低代码的逻辑错误,能够实时地提醒自己检查代码是否偏离要求。2.checkRep:编写一个checkRep可以帮助你检查RI,这样就不会由于疏忽而导致在代码中改变了RI。3.迭代器:使用迭代器的next方法时,只能在一个作用域中调用一次,否则会导致异常java.util.NoSuchElementException。如果需要多次使用next方法的返回值,应该将值赋给一个局部变量。例如:Integer temp = it.next()。变量类型取决于迭
2021-06-22 11:21:45
241
原创 HIT 软件构造 LAB2
目录1 实验目标概述 2 实验环境配置 3 实验过程 3.1 Poetic Walks 3.1.1 Get the code andprepare Git repository 3.1.2 Problem 1: TestGraph <String> 3.1.3 Problem 2: ImplementGraph <String> 3.1.3.1 Implement ConcreteEdgesGraph 3.1.3.2 Implem...
2021-06-22 09:45:50
257
原创 HIT 软件构造 Lab1 总结
1.在MagicSquare问题中,实验要求从文件中读取。通过在网上查找各种资料,加上自己在java ee中学到的一些java基础,总结了一套读取矩阵的模板:
2021-06-13 21:37:41
1282
1
原创 HIT 软件构造 lab1
然后将temp中每个字符串转化成int,依次放入一个二维数组。在转化过程中,如果出现了异常,那么就说明存在非法输入(字母,浮点数等),或者是没有按照\t分隔,如下图:然后判断转化成的int是否是正整数,如下图:对于正常得到的二维数组,然后就分别对于每行每列每个对角线求和来判断是否相等,从而判断是否是Magic Square。结果: generateMagicSquare() 读给定的方法,可以得到流程图如下:思路:在生成Magic之...
2021-06-13 21:20:12
1278
1
原创 HIT 软件构造Lab提交时遇见的若干问题和解决方式
1.git clone超时:有时候在git bush中使用clone命令克隆远程库会超时,显示无法链接。这时候将url中的https改成git就行2.tijiao
2021-06-13 21:06:44
169
原创 在Ubuntu20.04中安装edb1.3.0
最近实验课要求使用edb,笔者按照官网https://github.com/eteran/edb-debugger上的步骤安装后,发现edb的版本是1.0,而官网上发布的最新版是1.3,于是笔者尝试直接下载官网上的发布的1.3进行安装。首先下载官网提供的tgz文件然后将文件移到linux下在命令行输入以下指令:sudo apt-get install cmake build-essential libboost-dev libqt5xmlpatterns5-dev qtbase5-d...
2021-04-21 22:01:56
2292
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人