结对编程的感想&收获
关于结对编程的感想、感受,见我的另一篇随笔——《构建之法》结对编程 感想
下面我来谈谈本次结对编程的收获以及发现的问题
收获
①这是我人生中第一次做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测试,故没有进行,但应是正 ...
随机推荐
- 在MVC过滤器中获取触发的Controller、Action、参数 等
首先是实现接口System.Web.Mvc.IActionFilter的过滤器 获取Controller.Action.参数 方法一. string actionName = filterContex ...
- tensorflow基础篇-2
#-*- coding:utf-8 -*- import tensorflow as tf sess=tf.Session() #整流水线单元relu print sess.run(tf.nn.rel ...
- phpdocumentor生成代码注释文档(linux)
1,默认安装lnmp环境(php7),默认pear安装 2, pear channel-discover pear.phpdoc.org pear install phpdoc/phpDocume ...
- Intellij-怎么避免import.*包,以及import包顺序问题
Intellij版本 IntelliJ IDEA 2018.1.2 (Ultimate Edition) Build #IU-181.4668.68, built on April 24, 2018 ...
- 【链表】Rotate List(三个指针)
题目: Given a list, rotate the list to the right by k places, where k is non-negative. For example:Giv ...
- Java虚拟机(七):JVM调优案列
Eclispe启动优化 概述 什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配.回收的情况来调整各区域内存比例或者gc回收的策略:更深一层就是根据dump出来的内存结构和线程栈来分析代 ...
- R语言-RStudio快捷键总结
一.控制台 功能 Windows & Linux Mac 移动鼠标到控制台 Ctrl+2 Ctrl+2 移动到鼠标命令编辑 Ctrl+1 Ctrl+1 控制台清屏 Ctrl+L Comm ...
- GreenPlum:基于PostgreSQL的分布式关系型数据库
GreenPlum是一个底层是多台PostgreSQL分表分库的分布式数据库,它有如下特点 支持标准SQL,几乎所有PostgreSQL支持的SQL,greenplum都支持 支持ACID.分布式事务 ...
- 一张图解决Struts2添加源码
主要是选择的路径:F:/struts2/struts-2.3.31/src/core/src/main/java
- 从Qt到PyQt
Hello World PyQt与Qt具有极其相似的类族和API,而且不再使用qmake系统和Q_OBJECT宏使得PyQt在没有编译链接时频繁的错误而且代码更加友好. from PyQt4 impo ...