结对作业——四则运算 Part3. 对于结对编程的总结与思考
结对作业——四则运算 Part3. 对于结对编程的总结与思考
PB15061303 刘梓轩
PB16061489 艾寅中
GITHUB 地址
目录
Part 1. Core代码编写部分
Part 2. 封装与对接相关问题
Part 3. 对于结对编程的总结与思考
关于结对
View:(From 艾中)
不得不说,结对编程给笔者带来了一次全新的编程体验。就领航员与驾驶员的分工而言,刘承担了生成和计算的大部分任务,笔者(艾)负责了显示和输出部分的函数。
首先我作为领航员的时候,实际上是有点懵的,因为学长的写代码速度真的是很快,而且真的就是我只要稍微一愣神,就是不知道发生了什么。还要反而需要学长把我领回来,可以说是十分不称职的领航员了hhh
再说作为驾驶员,一开始后面有个坐个人真的是全身不自在。但是真正投入到解决问题中去的时候,就没有那种感觉了。尤其是这种只要有问题立马就可以回头去交流,而且不需要长篇大论的描述问题,因为两人本质上是一起编程的,学长的人生经验几乎可以立马解决我出现的问题,更不用说被学长发现的那些小问题了。
而且结对时的交流,真的是对于开阔思路太有帮助了。我们在编程的时候是不断的扩充功能的,因此,在完成了开始的整数的加减乘部分后,进度一度陷入停滞(笔者也苦于期中考试)。在一次交流后,两人对于问题进行深入的探讨,便又飞快地加入了分数的运算部分,后续的小数运算部分也如此。
View:(From 梓轩)
结对编程的体验很棒+1!其实艾中把我的写代码的速度夸大了,我们在一开始确实有过速度非常快的阶段,但是由于我们各自都有事情要忙,所以等到我们重新拾起项目的时候,光是对接和重新拾回效率和思路,就已经花费了很多时间(这也告诉我们一次就把流畅的主体框架全部解决的重要性!!!!)。
在项目中我们俩的分工很明确,由于我清明节前时间比较多,所以我主导了计算和生成模块的构架(事实上我觉得我决定的方向并不好,这在我之后的博客中再详谈吧。),导致艾中会有一种懵的感觉,我想这也是以后的工作和学习中需要注意的地方,不能只顾着一个人向前走,而是要两个人结伴同行,这样才能效率更高。
由于我和艾中之前就认识,也都是辩论队的,所以配合起来十分默契,我想这为我的第一次结对编程的良好体验打下来良好的基础,虽然这次作业花费了我们很多时间(还是两个菜鸟的进阶之旅),也对我们的学业产生了一定影响,但我觉得收获很大,有很多东西想抒发,但限于ddl紧迫,只能以后再谈了。
PSP表格
| Planning | 计划 | 60 | 60 |
| · Estimate | · 估计这个任务需要多少时间 | 60 | 60 |
| Development | 开发 | 1625 | 2100 |
| · Analysis | · 需求分析 (包括学习新技术) | 60+120 | 60+120 |
| · Design Spec | · 生成设计文档 | 60 | 60 |
| · Design Review | · 设计复审 (和同事审核设计文档) | 15 | 15 |
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 20 | 25 |
| · Design | · 具体设计 | 90 | 120 |
| · Coding | · 具体编码 | 1000 | 1400 |
| · Code Review | · 代码复审 | 60 | 120 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 200 | 240 |
| Reporting | 报告 | 100 | 180 |
| · Test Report | · 测试报告 | 30 | 60 |
| · Size Measurement | · 计算工作量 | 10 | 10 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 110 |
| 合计 | 1745 | 2240 |
课程建议
虽然说,软工是一门注重实践的课程,但是就个人目前到现在为止的学习感受来说,似乎有点太注重于实践了?我甚至感觉自己不是在上一门课,而是在上一个专项培训班。没有其他那些科目上课时那种老师娓娓道来的感觉,更像是老板提一个要求,好了,你们去做就行了。当然,这些科目本身来说就有本质上的区别,毕竟别的学校的软工也是这样的,可能还是我编程编的太少了。
还有就是,这门课真的让我消耗的时间太太太太太多了。出去单纯的用在编程的问题上的时间,课后作业/读书笔记/任务总结的博客上也真的是消耗了太多的时间。感觉就是一个 ddl 接着一个 ddl,尤其是上周还有信号与系统的期中考试。要不是把结对编程的项目推迟了,多了一个周末的时间,我可能现在已经凉透了。
对于团队项目
这是让我更难受的一点,就是个人任务和结对任务对我的团队项目没有什么实际上的帮助。
首先因为这两个任务,笔者(艾)这三周可以说完全没有去看团队项目所需的知识。再者,由于我们准备使用 Java 来进行团队项目中网站的后端编写,可是这两个任务中均使用的是 c ,在他们开始前学的那一点点 Java,也全都忘光了。也能是我太菜了,并没有能力用 Java 来写这两个任务的原因吧。
硬要说的话,就是这次结对过程中,不断的扩展功能这一点,也算是体现了敏捷吧,在后续的团队项目中也可以把成员结对,效果感觉也会有提升。
结对作业——四则运算 Part3. 对于结对编程的总结与思考的更多相关文章
- 结对作业——四则运算 Part2. 封装与对接相关问题
结对作业——四则运算 Part2. 封装与对接相关问题 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分Part 2. ...
- Core 第三组 结对作业——四则运算 Part1. Core代码编写
结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...
- 结对作业-四则运算GUI
目录: 一.项目地址二.PSP三.接口设计四.计算模块接口的设计与实现过程五.计算模块接口部分的性能改进六.计算模块部分单元测试展示七.计算模块部分异常处理说明八.界面模块的详细设计过程九.界面模块与 ...
- Lobooi 结对作业(24235+24229)
结队作业 GitHub项目地址 https://github.com/Lobooi/PairProgramming.git 伙伴博客地址 https://www.cnblogs.com/lanti/p ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 结对作业——web四则运算
目录: 一.Coding.net项目地址 二.PSP 三.接口设计 四.接口实现 五.性能分析 六.单元测试 七.异常处理 八.模块设计 九.模块对接 十.结对 十一.思考 十二.PSP 网站:htt ...
- 【第二次个人作业】结对作业Core第一组:四则运算生成PB16061082+PB16120517
[整体概况] 1.描述最终的代码的实现思路以及关键代码. 2.结对作业两个人配合的过程和两个人分工. 3.API接口文档和两个组的对接. 4.效能分析,优化分析和心得体会. [代码实现] 一. 实现功 ...
- 结对作业1----基于flask框架的四则运算生成器
011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...
- 结对作业 -GUI四则运算
目录: 一.前言(及项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模块 ...
随机推荐
- Thread和Runable实现多线程
分析两种实现多线程的方式:Thread类和Runnable接口 写一个程序,模拟4个售票窗口共同卖100张火车票的程序. 1:使用继承Thread类方式实现(). 2:使用实现Runnable接口方式 ...
- 解决js代码中加入alert()就成功执行,不加就不对的问题!
问题: jquery中的$(document).ready(function(){})中调用两个方法(1)利用ajax请求去后台查图书类别的方法(2)当页面上利用图书类别去查询图书返回页面,让图书类别 ...
- 去掉UIWebView上下滚动出边界时的黑色阴影
for (UIView *viewin [_webViewsubviews]){ if ([viewisKindOfClass:[UIScrollView class]]){ for (UIView ...
- Oracle 使用RMAN COPY 移动 整个数据库 位置 示例
一.数据迁移说明 在DBA的工作中会遇到数据迁移的情况,比如将本地磁盘迁移到ASM,亦或者需要更换存储设备,那么我就需要迁移整个数据库的存储位置. 如果只是移动表空间或者数据文件,我们可以将表空间或者 ...
- 轻量级封装DbUtils&Mybatis之一概要
Why 一时兴起,自以为是的对Jdbc访问框架做了一个简单的摸底,近期主要采用Mybatis,之前也有不少采用Dbutils,因此希望能让这两个框架折腾的更好用. DbUtils:非常简单的Jdbc访 ...
- HTML第一讲
HTML标记区分 HTML即超文本标记语言(HtyperText Markup Language),其作用就是将编辑的内容在屏幕上显示.文件的后缀为.HTML. 在HTML中成对出现的叫做双标记(譬如 ...
- 云服务器 ECS Linux 软件源自动更新工具
https://help.aliyun.com/knowledge_detail/41177.html#%E5%B7%A5%E5%85%B7%EF%BC%9Aupdate_source.sh 功能说明 ...
- CocoStudio创建动画帧
进入动画编辑器 选择“形体模式” 右键点击资源窗口的资源,可以进行删除,重命名的操作: 可以再资源窗口下方的预览窗口,查看选中的资源预览效果图: 右键点击“对象结构”,创建图层 选择“动画模式” 右 ...
- IDA Pro 权威指南学习笔记(十二) - IDA 中的注释
注释有助于以一种更高级的方式描述汇编语言指令序列 IDA 提供了几种不同类型的注释,每种注释适用于不同的目的 使用 Edit -> Comments 命令的选项,可以为反汇编代码清单中的任何一行 ...
- TypeError: 'ExcelData' object is not iterable
今天写了个测试的代码,结果在执行test_register.py文件在调用readexcle.py的时候一直报错TypeError: 'ExcelData' object is not iterabl ...