结对编程的感想&收获
关于结对编程的感想、感受,见我的另一篇随笔——《构建之法》结对编程 感想
下面我来谈谈本次结对编程的收获以及发现的问题
收获
①这是我人生中第一次做UI界面设计,刚拿到这个题目还是比较兴奋的,虽然相关的知识几乎没有了解,但终于不用在黑框框里跑代码了,终于可以和用户进行较好的交互了(以前的程序对输入有较严格的要求,非法输入容易导致崩溃),想想就很美滋滋。
②考虑到平台的移植性问题,这次随大流用Qt做用户界面设计。Qt是一款较成熟的产品,自带Creator图形设计界面,对新上手的我而言可谓很友好了,当然只会拖拽模块是不能设计出较好的界面的,为此,我查看了Qt相关的教程,对Qt的一些基本特性有了大致了解,尤其是 信号/槽 机制是与其他类似软件相区别的一大特色。这可能是本次结对编程项目的最大收获吧。
③因为这次要与Core组对接,必然涉及到库文件的调用问题,这也经历了一番波折。我们使用的是Mingw编译器,起初想使用对*.dll的隐式调用,尝试了很久一直都失败,上网查遍相关资料并把所有方案尝试之后依旧无果(毫不夸张的说,凡是能搜到的包含“Qt”,“Mingw”,“dll”,“隐式调用”这些关键字的索引我几乎都看过),最后从一位同学那里得知,Mingw可能不支持对dll的隐式调用,只能使用显式调用。所以,有时还是需要与周围“志同道合”的人交流的,实乃踏破铁鞋无觅处,得来只需问一问。
问题
①这次普遍存在的问题是各组接口不统一,导致最终轮流调试异常艰难,复杂度线型增长。其实,这也是大家都没有经验吧,直到一个星期后快到交付日期了才有同学给出统一接口的文档。虽然这次花费了很大力气处理对接的事情,过程中也十分痛苦(每换一组就要改不少代码),但吃一堑,长一智,以后进行类似的团队项目就知道要现制定公认的标准了。或许,这也是做软件需要经历的一个成长过程吧。
②结对编程的理念是一人担任驾驶员,一人担任领航员,并定时交换身份。这第一次结对我们并未将这一点贯彻落实,一开始还是一个人写一个人看,写的人专心码代码,看的人挑问题、提建议;不过,到了后来,尤其是遇到比较大的麻烦时,就两个人各写各的了,看谁能先把问题解决,然后一人驾驶一人领航的节奏就渐渐被打乱了。其实,这也无可厚非,一是因为这是第一次进行结对,两人的分工可能还不那么合拍,二是我们能力上还有些欠缺,比如需要学一些新知识,这就限制了结对编程的顺利进行。至少,我们对这样的模式更加熟悉,其带来的好处也不言而喻,以后若有机会继续尝试这种方式或许会更熟练。
结对编程的感想&收获的更多相关文章
- 结对编程ending-我和洧洧的碎碎念
应该是第一次和队友分工合作去完成一个项目,其中也经历了跳进不少坑又被拉回来的过程,总体来说这对于我俩也的确是值得纪念的一次经历. 我的碎碎念时间…… 对比个人项目和结对编程项目二者需求,前者重在面对不 ...
- 现代软件工程HW2:结对编程-生成五则运算式-Core10组 [PB16110698+PB16120162]
作业具体要求点 这里 Core组要求: 1.Calc() 这个Calc 函数接受字符串的输入(字符串里就是算术表达式,例如 “5*3.5”,“7/8 - 3/8 ”,“3 + 90 * 0.3”等等) ...
- [2019BUAA软件工程]结对编程感想
结对编程感想 写在前面 本博客为笔者在完成软件工程结对编程任务后对于编程过程.最终得分的一些感想与经验分享.此外笔者还对于本课程的结对编程部分提出了一些建议. Tips Link 作业要求博客 2 ...
- 结对编程收获——UI真的没有那么简单
结对编程收获——UI真的没有那么简单 詹元成 初看作业要求,心里还有一点欣喜,不就是做一个UI ...
- 结对编程收获-Core10组-PB16110698
本周结对编程追加作业:记录收获.坦白说,我的收获多而杂,一时不知从何说起,以下试图从各方面简要谈谈. 一.编程能力收获 从编程能力方面,我收获的主要是类的设计思路和算法设计.在作业要求blog的指引下 ...
- 【week2】结对编程-四则运算 及感想
首先我要说一下,我得作业我尽力了,但是能力有限,还需练习. 四则运算,改进代码流程: 1.手动输入算式(属于中缀表达式) 2.将中缀表达式转化成后缀表达式 生成out数组 3.一个操作数栈,一个运算符 ...
- 11061160_11061151_Pair Project: Elevator Scheduler软件工程结对编程作业总结
软件工程结对编程作业总结 11061160 顾泽鹏 11061151 庞梦劼 一.关于结对编程 这次的软工任务既不是单打独斗的个人任务,也不是集思广益的团队项目,而是人数为两人的结对编程.两个人合 ...
- 集大软件工程15级结对编程week1
集大软件工程15级结对编程week1 0. 团队成员 姓名 学号 博客园首页 码云主页 孙志威 20152112307 Agt Eurekaaa 孙慧君 201521123098 野原泽君 野原泽君 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算第三周总结
相关测试过程截图 测试了由中缀表达式转后缀表达式的Junit测试,分别进行了整数的和分数的,测试成功截图 由于生成问题和计算问题中,问题都是随机产生的,暂时不会进行Junit测试,故没有进行,但应是正 ...
随机推荐
- SpringMVC+AJAX+JSON
在做一个ajax发送json到springmvc的控制层,控制层的对象中有一个List集合,ajax调用总是报415错误.发现了一个一直没有注意到的问题,借机记录一下. (细节部分都忽略了,在最后的d ...
- 如何删除Eclipse里某个工作空间?
很多时候,一个Eclipse中或多或少的都会有那么几个工作空间(workspace),但是久而久之你会发现有些工作空间你觉得不再需要了或者觉得碍眼,怎么办? 其实很简单,方法有两种. 1.打开你的Ec ...
- nodejs + express 热更新
以前node中的express框架,每次修改代码之后,都需要重新npm start 才能看到改动的效果,非常麻烦,所以这里引入nodemon模块,实现了不用重启也能自动更新这样的好处 1.全局安装no ...
- Kafka消息重新发送
Kafka消息重新发送 1. 使用kafka消息队列做消息的发布.订阅,如果consumer端消费出问题,导致数据并没有消费,此时不需要担心,数据并不会立刻丢失,kafka会把数据在服务器的磁盘 ...
- Node.js进程管理之进程集群
一.cluster模块 Node.js是单线程处理,对于高并发的请求怎么样能增加吞吐量呢?为了提高服务器的利用率,能不能多核的来处理呢?于是就有了cluster模块. cluster模块可以轻松实现运 ...
- 用Shell编写项目发布脚本
1.首先在github上创建一个测试用的仓库 2.本地编写一个可以运行的测试项目,上传至github 3.链接服务器,编写脚本如下:注意:编写前需要在服务器上安装git和maven 执行build_c ...
- [日常] MySQL内存不足启动失败的解决方法
1.启动mysql时,一直不成功,查看错误日志 /var/log/mysql/error.log 2.主要的错误信息有如下几条: [ERROR] InnoDB: mmap(136151040 byte ...
- 项目托管到Github上
一.注册github账号 首先需要注册一个github账号,注册地址:https://github.com 接着会来到这 然后会收到一封github发的邮件,进入邮箱验证 二.创建个人的githu ...
- 啰里吧嗦kafka
1.kafka是什么 kafka官网: http://kafka.apache.org/ kafka是一种高吞吐量的分布式发布订阅消息系统,用它可以在不同系统中间传递分发消息 2.zookeeper是 ...
- 对JSON数据的解析(数据推送接口)
package com.liuqi.www; import java.util.HashMap; import java.util.Map; import org.springframework.st ...