结对编程的感想&收获
关于结对编程的感想、感受,见我的另一篇随笔——《构建之法》结对编程 感想
下面我来谈谈本次结对编程的收获以及发现的问题
收获
①这是我人生中第一次做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测试,故没有进行,但应是正 ...
随机推荐
- Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
Servlet Filter(过滤器).Filter是如何实现拦截的.Filter开发入门 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过F ...
- 【链表】Partition List
题目: Given a linked list and a value x, partition it such that all nodes less than x come before node ...
- Web自动化 - 选择操作元素 1
文章转自 白月黑羽教Python 所有的 UI (用户界面)操作 的自动化,都需要选择界面元素. 选择界面元素就是:先让程序能找到你要操作的界面元素. 先找到元素,才能操作元素. 选择元素的方法 程序 ...
- 自己动手实现一个WEB服务器
自己动手实现一个 Web Server 项目背景 最近在重温WEB服务器的相关机制和原理,为了方便记忆和理解,就尝试自己用Java写一个简化的WEB SERVER的实现,功能简单,简化了常规服务器的大 ...
- JDK自带工具介绍
JDK工具一览表 工具名称 功能描述 appletviewer.exe 用于运行并浏览applet小程序. apt.exe 注解处理工具(Annotation Processing Tool),主要用 ...
- 数据库--oracle图形化管理工具和新增自定义用户
oracle数据库图形化管理工具: 1 navicat工具很小,操作mySQL和SQLServer非常好用,但对于oracle体验性就有点差,要自己下载编码和替换oci文件.下面是解决的方法教程链接 ...
- KafkaOffsetMonitor监控kafka
KafkaOffsetMonitor监控kafka 1. KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便.源项目G ...
- DotNetBar 使用笔记
1.删除表格的某一行数据,必须是VirtualMode = false 的时候才生效,不然就只是灰色 SuperDBG_Right.PrimaryGrid.SetDeletedRows(SuperD ...
- C语言中内存管理规范
一.内存申请 1.建议使用calloc申请内存,尽量不要使用malloc. calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据. 2.申请内存大 ...
- 设计模式学习--装饰者模式(Decorator Pattern)
概念: 装饰者模式(Decorator Pattern): 动态地将功能添加到对象,相比生成子类更灵活,更富有弹性. 解决方案: 装饰者模式的重点是对象的类型,装饰者对象必须有着相同的接口,也也就是有 ...