结对作业收获
随着结对编程的告一段落,我们的个人项目也就结束了。不得不说,经历过这两次作业的磨练,自我得到了很好的锻炼。以下就简要说说我的收获和反思。
一、知识和技术层面上的收获
一开始接到这个任务是比较茫然无措的,因为我之前从来没有接触过UI界面的制作,更别说是跨平台了。于是经过搜寻资料和询问他人之后,我们组确定了使用Qt作为制作UI的平台。通过从网上找到的Qt入门教程,我们磕磕绊绊地学习了一些UI方面的知识,这算是最基本的知识收获了。
时间不等人,由于时间的关系,我们并没有完整地完成学习,而是试着在core组没有完成开发的时候开发UI的基本功能。通过臆造core组可能出现的接口并结合老师的要求对UI界面进行了初步的构造。在制作初步界面的过程中,经过一些问题的解决,我们收获了不少基本问题的解决方法,也对后面的对接提供了非常有用的经验。比如说实践证明,涉及IT技术问题,StackOverflow比百度好用……
接下来进入对接阶段,如何调用dll文件,如何设计测试,如何将core组的接口嵌入等,都是我们在对接过程中学习到的知识。这些知识也是相当宝贵的。在界面设计方面,我询问了以前做过GUI的同学,得到了部分界面设计的心得,亦是难得的经历。
二、思想层面上的收获
这次结对编程,除了在知识和技术层面上获益匪浅,在思想层面上更是得到了不小的启发。首先是对于结对编程本身,我感受到了和个人编程截然不同的氛围。个人编程重在个人实践,结对编程则需要投入相当一部分时间与队友交流。这次我与我的队友的交流还是相当成功的,同时采用在代码中加入适当的注释等方法,让我们在这方面节省了不少时间。
其次是标准化的思想。由于各组core的接口不同,甚至到了迥异的地步(传数组、字符串、文件读写等),导致我们在对接的时候对每一组都要在原本的框架上进行调整不少内容,花去了很多时间。就这样看来,如果要实现core和UI的大范围对接,标准化的接口是十分必要的,一方面减轻了各自的负担,另一方面为各自部分的制作标明了方向。这样一来各组标准竞争又是一件比较复杂的事情了,果然如老师所说,抢占标准是相当重要的事情。
再次是一些琐事,在一开始设计UI界面的时候我们对接口进行了精简化处理,之后的过程中由于各种原因我们没能回头重构一遍,因此较为粗糙的代码在后期对接的时候带来了不小的困难,说明一些小问题如果不及时处理,后面就会滚雪球,到最后牵一发而动全身的时候,就已经积重难返了。
最后,关于要求不妨再多说一句,其实这是一个比较贴近实际的例子。我们制作的题目是随机的(准确说是伪随机),但是我们的练习册的题目却不会这样,是针对某些特定题目进行强化得来的(容易出错的)。如果可以的话,可以试着通过联网等方式收集错题,然后出一本不错的小册子,也是一定的商机。
三、最后的反思
现在看来,这次作业先天不足的一点是规定与实际的相矛盾性,不采用标准接口却想要完成所有UI和core两两对接,是比较不可思议的,希望老师在之后的课程中能够加以避免。同时就时间的安排上来说,这次比上次好很多,没有发生在最后阶段赶工的情况。但是就细节上说,两人的工作效率在一些时间中还是没有最大化(比如两个人一起看文件操作、一起对接),在前期熟练的基础上,后期如果分头开工应该会更好些。还有对于UI界面的视觉效果处理上也是很粗糙的,只是贴了一张我们觉得好看的图片作为背景,(也许是工科生的审美问题?)没有考虑小学生的需求,也是不尽如人意的。
原文地址:https://www.cnblogs.com/redlogic/p/8893781.html