homework-03
1.分工准备
这次的工作是结对编程,在第二次作业中我是使用python完成的作业,而小明是使用C完成的作业。因为打算使用动态链接库的方式将第二次的代码嵌入到本次的作业中,而python生成动态链接库不易实现,因此采用了小明的第二次代码。
因连通区域的解决方案在第二次作业中并没有实现,因此我们本次作业不能够实现解决联通区域的答案。本次作业的编码工作由小明同学来实现,鉴于他的代码能力比较强,并且本人并不是很擅长写图形界面。本次作业的要求也主要集中在实现一个UI,C#实现图形界面较为容易,所以最终我们决定用C#来实现本次作业。
2.具体思路
第三次作业乍一看好像和第二次差不多,但是经过仔细分析之后我们发现第3次作业中其实有一些难点。
难点1:第二次作业的代码不能直接使用,没有对最优子矩阵进行记录。因此我们需要对第二次的代码进行修改,将最优子矩阵记录,这样才能够满足显示最优子矩阵的要求。
难点2:保证只有一个界面在系统中运行,并且还要进行更新。这个要求是邹老师在上课时候建议大家实现的,这样才能够与实际的应用场景相符。C#对于这种情况的处理并不繁琐,这也是我们选择C#的原因之一。
3.实际编写
本次代码的编写工作并不容易,因最近本组两人都有一些额外的工作,所以我们本次代码的编写是在短时间内突击完成。鉴于一些细节问题,消耗时间不少。
4.测试功能
本次代码我们采取人工测试。
5.总结
这次是我们第一次采取结对编程的方式,可能在分工处理上并不得当。并且本次作业代码量并不是很大,结对编程也和之前接触到团队项目性质区别较大,结对编程的效果并没有很好的体现出来。但是,我们还是体会到了结对编程的意义所在,并且也希望能够加强对通过测试驱动开发这一概念的理解。相信经过多次磨合后,我们能够发挥出结对编程的效率。
6.问题
你的同伴有哪些优点 (列出至少三点), 和那些需要改进的地方 (列出至少三点)
优点:代码能力强,耐心高,配合能力好
缺点:较忙,不了解python等开发效率高的编程语言,结对编程经验较少(也是大家都存在的缺点)
你的代码从 作业2 到 作业3 经历了哪些变化? 哪些代码需要重构 (看关于代码重构的资料), 哪些需要重写, 为什么?
主要添加了记录最优子矩阵的代码,重写了返回值,将子矩阵也一起返回,方便主界面调用。
7、时间统计
|
Personal Software Process Stages |
时间百分比(%) |
实际花费的时间 (分钟) |
原来估计的时间 (分钟) |
|
计划 |
10% | 24 | 18 |
|
· 估计这个任务需要多少时间,把工作细化并大致排序 |
10% | 24 | 18 |
|
开发 |
85% | 204 | 153 |
|
· 需求分析 (包括学习新技术) |
15% | 36 | 27 |
|
· 设计复审 (和同事审核设计文档) |
10% | 24 | 18 |
|
· 代码规范 (制定合适的规范) |
5% | 12 | 9 |
|
· 具体设计 |
10% | 24 | 18 |
|
· 具体编码 |
35% | 84 | 63 |
|
· 代码复审 |
5% | 12 | 9 |
|
· 测试(自我测试,修改代码,提交修改) |
5% | 12 | |
|
总结报告 |
5% | 12 | 9 |
| 总计 | 100% | 总用时 180 |
homework-03的更多相关文章
- nlp homework 03
NLP Homework 03 --冯煜博 题目描述 (盒子和球模型)假设有3个盒子,每个盒子里装有红白两种颜色的球,盒子里的红白球有下表列出,初始状态分布. 解答 1. 给出HMM模型 \(\mu= ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- 小兔JS教程(三)-- 彻底攻略JS回调函数
这一讲来谈谈回调函数. 其实一句话就能概括这个东西: 回调函数就是把一个函数当做参数,传入另一个函数中.传进去的目的仅仅是为了在某个时刻去执行它. 如果不执行,那么你传一个函数进去干嘛呢? 就比如说对 ...
- 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制地址 [https://git.coding.n ...
- 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2385 版本控制:[https://git.coding.net/lglr201 ...
- Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 03
此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 Scrum master:范洪达 一.小组介绍 组长:王一可 组员 ...
- 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03
此作业链接地址见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 Scrum master:王硕 一.小组介绍 组长:王一可 组员 ...
- 20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- day33-线程基础03
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...
- day41-网络编程03
Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通 ...
随机推荐
- ehcache版本冲突
以ehchache-core2.5为分水岭 缓存版本问题 版本不一样 配置不一样 ehcache-core-2.4.3.jar 与 ehcache-core-2.6.6 一 Caused by: n ...
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- sed替换单引号
echo "Cfoo'barxml" | sed "s/'/::/g" | sed 's/::/\\:/g' | sed "s/:/'/g&quo ...
- [LeetCode#249] Group Shifted Strings
Problem: Given a string, we can "shift" each of its letter to its successive letter, for e ...
- abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实 ...
- VS2010解决方案不显示无法添加项目问题
问题:在VS2010中不显示解决方案,导致不能添加项目. 方法:工具-选项-项目和解决方案-选中“总是显示解决方案”,ok
- ASP.NET中MEMCACHED
一,准备 你需要有一下软件: VS.NET(05/08) SQLSERVER memcached服务器端以及客户端类库(开源软件,下载即可)其中,客户 ...
- Material Design 设计--阴影的重要性
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_cont ...
- Java [leetcode 1] Two Sum
小二终于开通博客了,真是高兴.最近在看Java,所以就拿leetcode练练手了.以后我会将自己解体过程中的思路写下来,分享给大家,其中有我自己原创的部分,也有参考别人的代码加入自己理解的部分,希望大 ...
- Storm入门教程 第五章 一致性事务【转】
Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有tuple都被成功处理.如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?Storm提供了一套事务性 ...