结对作业——四则运算 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) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模块 ...
随机推荐
- ssh连接至Ubuntu服务器时,提示以下错误:REMOTE HOST IDENTIFICATION HAS CHANGED!
今天在使用Ubuntu搭建自己的git仓库的时候,搭建完成后clone时出现以下错误 经过搜索问题出现原因的描述如下:第一次使用SSH连接时,会生成一个认证,储存在客户端的known_hosts中. ...
- 【mongodb】Mongodb初识
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...
- BZOJ1725,POJ3254 [Usaco2006 Nov]Corn Fields牧场的安排
题意 Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行\((1 \leq M \leq 12, 1 \leq N \leq 12)\),每一格都是一块正方形的土地.FJ打算在牧场 ...
- @contextmanager
with的作用,类似try...finally...,提供一种上下文机制. 要应用with语句的类,其内部必须提供两个内置函数__enter__以及__exit__ , 前者在主体代码执行前执行, ...
- python模块--json \ pickle \ shelve \ XML模块
一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...
- HAL层编写规范
andriod HAL模块也有一个通用的入口地址,这个入口地址就是HAL_MODULE_INFO_SYM变量,通过它,我们可以访问到HAL模块中的所有想要外部访问到的方法. 在Linux系统中,后缀 ...
- PHP应用的CI/CD流程实践与学习:一、PHP运行环境的准备
前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯. 敏捷开发如果有持续集成.持续部署的支持,那样开发.测试.运维将节省不少精力. 此系列博客只为记录CI/CD的 ...
- 在Mac OS上搭建Python的开发环境
本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可 ...
- python接口自动化22-签名(signature)鉴权(authentication)之加密(HEX、MD5、HMAC-SHA256)
前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API 使用签名方法(Signature)对接口进行鉴权(Authentication).每一次请求都 ...
- Redis: Redis支持五种数据类型
ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...