结对编程收获-Core10组-PB16110698

  本周结对编程追加作业:记录收获。坦白说,我的收获多而杂,一时不知从何说起,以下试图从各方面简要谈谈。

一、编程能力收获

  从编程能力方面,我收获的主要是类的设计思路和算法设计。在作业要求blog的指引下,我和同伴一同思考、选用类,最终决定采用我提议的方案,类中的变量名、变量数量都是由我提议和设计完成的,主要基于要求的功能的实现。变量以外,还需要设计类的函数,这就涉及到算法层面。一开始,我对于生成运算式方面非常生疏,翻了半天谭浩强红皮书,又在团队作业的小组中讨论了一阵,终于决定采用树的形式生成,辅以栈形式实现。相关函数及代码可以参考我的作业报告博客,都附有一定的注释。

  除了主干程序外,还有单元测试的设计。由于运用VS单元测试框架时还比较生疏,我和同伴一起找了一些文档查阅,实现了比较基础的单元测试,但覆盖率没达到百分百。这主要是因为一些涉及全局变量、类变量的函数的单元测试函数编写方法我们没能掌握,只能使用断点debug方式代替单元测试,某种意义上做到了全覆盖。只能说单元测试之路任重而道远,在将来的团队项目中一定要好好落实真正的单元测试。

  这次编程暴露出我数据结构方面的薄弱,选用完数据结构后,相关算法的编写也花了很多功夫,和同伴一起找了许多网站和资料作为参考,磕磕碰碰才最终完成,这使我对树结构、栈结构的操作和使用更加熟悉,也锻炼了我对于编程细节、逻辑严密性的把控,全方位提升了我的编程能力,但愿我能牢记这些相关知识,灵活运用在以后的学习工作中。

附图:类设计与类函数的部分截图

二、接口相关收获

  之前从未将一个程序发布成dll,因而这第一次宝贵的经历自然伴随着各种困难。其一,按照网上的教程,我只能从零编写出非常基础的dll,却无法将已经编写好的cpp文件转换成dll。最终,在团队组的同学们的建议下,我和同伴终于找到了方便可行的转化方法。其实说来也简单,只要在头文件顶部添加预编译,在需要输出的函数前加上编译头即可,完全没必要像网上教程一般新建一个dll工程、预编译头等等繁杂操作。

  以上就是关于接口的全部收获?当然不可能。这仅仅是开始。我们还没来得及沉浸于dll导出成功的喜悦,就被对接的UI组问翻了:为什么给的头文件里这么多内容?函数接口能不能多支持一些格式?

  我们下载了群里其他组的配套头文件,发现其中仅仅含有需要输出的函数,而我们的头文件可谓无所不包:类定义,类中函数的定义,五脏俱全。于是我们恍然大悟,又设计了一个func.h文件,将需要导出的函数封装在其中,其他的信息则无需提供给UI。同时,我们改善了接口种类,原先UI需要先生成一个questionCore 类的变量,再调用变量.setting函数进行设置,再调用变量.getfile函数获得结果,非常复杂,且每个参数都需要设置;改善后,我们只提供三类setting函数,分别支持string输入、bool输入、文件输入,且自带输出,UI组只需选用其中的一个setting函数,就能直接得到结果,且对于不想设置的选项,可以输入-1、“”来取用默认值,非常方便。

  这次接口的设计波折给了我很大启发:接口的设计要尽量简单化、多元化、智能化,编写的dll要力求实现“完美黑盒”,给用户提供最便捷、最舒适的体验。

附图:原先设计的接口,只提供一种类型的设置函数,且需要繁复的调用手续。

附图:改进后的设计接口,只提供三种setting方案,方便快捷,支持使用默认设置。

三、交流相关收获

  结对作业的一大命题便是交流。我和队友的交流还算融洽。虽然他没有上过数据结构课,对树、栈等数据结构不太理解,但经过简单讲解以后他能很快follow上,并且提出了许多好的意见,比如筛选不合法式子的判断准则、括号添加和删除的功能等。在与队友的交流合作中,我学到了如何将自己的设计思路传达给同伴,学到了通过画图方式展示函数的架构(在队友的强烈建议下),也学到了意见出现分歧时应该如何协商解决。

  除此之外,还有不同组间的交流。由于每组都要相互对接,我们与不同的UI组间基本都要打交道。第一次面对面对接时,由于我们没有说清楚功能,UI组调用方式出错导致迟迟不出结果,经过我们共同调试、发现问题,最终得以顺利对接。后来对接时,我们积极吸取了各UI组的建议,并结合群内做得比较好的UI组的接口设计作为参照,不断更新我们的对接功能,让我们的程序变得更易于使用。这些交流合作中,我学到了如何给自己的产品打广告,如何从他人的建议、示范中提升自我,如何给他人提建议,帮助他人完善功能。

  

附图:在与UI11组的对接中,我们发现界面的分辨率存在问题,导致显示不全,于是及时向他们反馈、建议,得到解决。

  总而言之,本次结对编程给了我诸多益处,接下来的团队项目中,我一定要好好总结、做得更好。

原文地址:https://www.cnblogs.com/cgyr/p/8894234.html

时间: 2024-10-12 09:28:28

结对编程收获-Core10组-PB16110698的相关文章

结对编程收获

这次结对编程真的是一次很锻炼人的经历,过程中充满了波折,最终也有不少收获,下面就从具体技术和一般开发经验两个方面谈谈我这次的收获. 具体技术上,这次采用的是Qt与C++,我曾经有过一些Qt经验,但只是自己写着玩玩,代码都不长.这次写Qt我最大的感受是,想成为一个入门的程序员,第一件事就是要懂得如何简明扼要地描述自己遇到的问题或者需要的技术,扔到百度上搜索,找到合适的解答.更成熟一点的程序员还要能用英语描述自己的问题并扔到 google 上找答案.在这个时代,技术总是不断更新的,作为程序员一定要培

结对编程之子数组最大的和(由于一直登不上我的账号,在规定日期内只在我搭档的博客上交了)

合作照片: 设计思想: 在原程序的基础上,再加一个循环,循环从最后一位数开始,到它之前的数结束: 可以将最后一位数赋给第一个数,剩下的数依次向前进一位: 计算方法和上次相同,每次循环都加上相邻的数,比较是否小于0,若小于0则将和的值赋为0,从下一位重新开始相加:若大于最初的最大值,则将和的值赋给最大值: 上次程序实现了首尾不连接的最大值,这次循环实现首尾连接的最大值,后再比较两次最大值,返回其中最大的值. 合作过程:      首先,两人在一起对编程题目进行讨论,发表自己的见解,并且对上次的编程

结对作业收获_core组

收获:编码之前必须的思考是逃不掉的,而且这一步是磨刀不误砍柴工,而且会加速以后的步骤 分析: 首要重要的事情是:需要完成的功能,理清逻辑关系.我们要随机产生一定要求的算式,并且计算出算式的值. 其次的事就是那个差点没读懂题的要求:重复题目的判断,为了实现检验重复,最让我心烦的就是那个奇奇怪怪的判定条件,而且还有括号的参与,一开始头脑是完全晕的.然后才在同学的提醒下想到了以前学过如何用二叉树来表示一棵树,这个方法最好的地方就是去掉了之前困扰我很烦的括号,所以同学(外援的重要型就凸显出来了) 最后就

结对编程项目——电梯调度

电梯调度 现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 可服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800 kg 2 单层 10 800 kg 3 双层 20 1600 kg 4 全部楼层 20 2000 kg 其使用规定如下: 1.楼层号为0~20,其中0号为地下一层: 2.有楼层限制的电梯不在响应楼层停靠,如单双层: 3.所有电梯采用统一按钮控制 请根据上述要求设计并实现一个电梯控制程序,如果有图形显示就更好了. 伙伴介绍与评价: 本次结

结对编程项目——收获及感想

结对编程项目-带UI的小初高数学学习软件 一.项目需求 用户: 小学.初中和高中学生. 功能: 1.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: 2.用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功.密码6-10位,必须含大小写字母和数字: 3.密码设置成功后,跳转到选择界面,界面显示小学.初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量: 4.用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目),界面显

结对编程总结,收获和教训:by张惠雨&梁佳佳

这是第一次正真意义上的和朋友一起完成一个小项目,虽然国庆七天少了几天玩的时间,但是收获还是蛮多的,感谢队友每天能和我一起去码代码,让这几天过得比较有意义. 这次的结对编程项目实在以前的个人项目的基础上实现的,其中出题模块完全时个人项目的引用,敲了几天代码,感觉自己在图形界面这一方面也有了一定的基础,可以实现一些简单的小功能,但仍不可否认,编码过程中是遇到好多问题的:最开始写的界面是注册窗口,本以为只是几个简单的文本框,却没想到却花了最多的时间,仅仅就验证码的申请这一块就耗费了两天的时间,而在注册

结对编程小结与收获

1. 初始设计: 在拿到项目需求之后,我和伙伴经过讨论最终决定做一个java web小项目来实现需求. 登录注册部分,初始的账户沿用了个人项目的几个固定用户,注册部分注册成功后直接进入系统(注册不用存入数据库) 选择试卷类型方面,点击小初高中,则显示该类型的试卷,并根据数量来生成题目(题目生成沿用个人项目) 2. 遇到的问题: 遇到的第一个问题,手机注册码的发送,由于缺少所需的jar包,这个问题困扰了我们很久,最后参照网上的方法加上之前申请的短信网关给做出来了. 题目方面,因为之前个人项目中的题

中小学出题程序结对编程的总结收获

本次结对编程我是学习了一个新的东西叫VC,由于个人编程是采用dev C++编写的,但无法设计界面,所以我决定和室友一块学习这个新东西,以下是我的成果. 本次题目要求和个人项目类似,也是写中小学试卷生成,不同的是得编写账户登录修改密码以及批改试卷等功能,所以一个清楚的界面很重要. 在界面中最经常使用的是按钮,通过点击按钮触发某个事件. 以下是我程序的第一个界面登录界面: 完成登录之后可以通过输入手机号获得验证码. 接下来是注册功能的实现. 把注册的账户名和密码储存在txt文件当中,当需要登录的时候

2016福州大学软件工程第二次结对编程作业成绩

在这里跟大家道个歉,由于国庆节基本都在参加婚礼的路上所以现在才把成绩统计汇总了一下,份子钱太吓人已经把不多的工资吃掉了,这个月要靠泡面度日了.你们可是要好好学习,好好赚钱,好出的起同学的份子钱啊.扯远了,第二次结对编程成绩统计如下: 学号 第二次结对编程 031402233 9.5 031402224 9.5 031402330 9.5 031402516 9 031402524 9 031402304 9 031402509 9 031402341 9 031402508 9 03140232