结对作业——四则运算 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. 对于结对编程的总结与思考的更多相关文章

  1. 结对作业——四则运算 Part2. 封装与对接相关问题

    结对作业——四则运算 Part2. 封装与对接相关问题 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分Part 2. ...

  2. Core 第三组 结对作业——四则运算 Part1. Core代码编写

    结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...

  3. 结对作业-四则运算GUI

    目录: 一.项目地址二.PSP三.接口设计四.计算模块接口的设计与实现过程五.计算模块接口部分的性能改进六.计算模块部分单元测试展示七.计算模块部分异常处理说明八.界面模块的详细设计过程九.界面模块与 ...

  4. Lobooi 结对作业(24235+24229)

    结队作业 GitHub项目地址 https://github.com/Lobooi/PairProgramming.git 伙伴博客地址 https://www.cnblogs.com/lanti/p ...

  5. 结对作业——随机生成四则运算(Core 第7组)

    结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...

  6. 结对作业——web四则运算

    目录: 一.Coding.net项目地址 二.PSP 三.接口设计 四.接口实现 五.性能分析 六.单元测试 七.异常处理 八.模块设计 九.模块对接 十.结对 十一.思考 十二.PSP 网站:htt ...

  7. 【第二次个人作业】结对作业Core第一组:四则运算生成PB16061082+PB16120517

    [整体概况] 1.描述最终的代码的实现思路以及关键代码. 2.结对作业两个人配合的过程和两个人分工. 3.API接口文档和两个组的对接. 4.效能分析,优化分析和心得体会. [代码实现] 一. 实现功 ...

  8. 结对作业1----基于flask框架的四则运算生成器

    011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...

  9. 结对作业 -GUI四则运算

    目录: 一.前言(及项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模块 ...

随机推荐

  1. LeetCode Find Permutation

    原题链接在这里:https://leetcode.com/problems/find-permutation/description/ 题目: By now, you are given a secr ...

  2. REX-Ray 了解

    REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker.Mesos 及其他容器运行环境提供持续的存储访问.其设计旨在囊括通用存储.虚拟化和云平台,提供高级的存储功能. 当前 ...

  3. uuid 了解

    什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法 ...

  4. vertica从其它表迁移数据到新表(insert into 语句使用方法实例)

    版权声明:本文为博主原创文章.博主同意自由转载. https://blog.csdn.net/tx18/article/details/26585649 #例:迁移微博用户数据. 因为源表weiboF ...

  5. bzoj 3996 [TJOI2015]线性代数——最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3996 b[ i ][ j ] 要计入贡献,当且仅当 a[ i ] = 1 , a[ j ] ...

  6. (二)Fiddler抓取Firefox、Chrome浏览器上的https协议

    Fiddler抓取Firefox.Chrome浏览器上的https协议 安装Fiddler后默认只抓取http协议,如果是https协议的话,浏览器就会提示"您的链接并不安全". ...

  7. Oracle条件分支查询

    Oracle的条件分支查询其实跟java的条件分支语法没啥太大的区别,只不过java多了一个switch关键字而已.看例子: SQL ELSE SUM(t1.TOTALTICKET) END tota ...

  8. openresty+lua做接口调用权限限制

    说明:openresty可以理解为一个服务器它将nginx的核心包含了过来,并结合lua脚本语言实现一些对性能要求高的功能,该篇文章介绍了使用openresty 1.purview.lua --调用j ...

  9. cowboy的cookie和session的例子

    session插件需要下载https://github.com/chvanikoff/cowboy_session 如果session需要分布式存储,可以参考https://github.com/sp ...

  10. HttpClient使用示例

    1)使用HttpClient发送GET请求 public class MainActivity extends Activity implements OnClickListener { privat ...