结对编程收获

Posted tongxinyin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程收获相关的知识,希望对你有一定的参考价值。


一、接口设计的收获
Core的设计集成在一个namespace:calculator里面。设计之初是考虑到其使用方便,后续对接时也确实体现出了这样设计的好处。我们将所有内容囊括在了同一个core.hpp文件中,使用时只需包含这一个头文件即可。
其中,我们设定参数的方式是使用结构体,简单直观,易于修改(使用Setting()修改):

struct InitParameters {
                int mode = 0;    // 模式:0-整数,1-小数,2-分数
                int UpperNum = 10; // 表达式中数字上界,初始化设定为10
                int LowerNum = 0; // 表达式中数字下界,初始化设定为0
                int MaxNum = 10; // 每一个表达式最多运算符个数,初始化设定为10
                unsigned int MinNum = 1; // 每一个表达式最少运算符个数,初始化设定为1
                int Total = 100; //生成算式个数,初始化设定为100
                int MaxPowerTimes = 3; // 乘方的最高次数,初始化设定为3
               
                bool add_op = true;//true表算式中允许出现加法,false表不允许出现加法
                bool sub_op = true;//true表算式中允许出现减法,false表不允许出现减法
                bool mul_op = true;//true表算式中允许出现乘法,false表不允许出现乘法
                bool div_op = true;//true表算式中允许出现除法,false表不允许出现除法(分数模式需允许除法)
                bool pow_op = true;//true表算式中允许出现乘方,false表不允许出现乘方
            };

生成算式,计算结果我们也分别集成在了Generate(),Calc()中,这样UI组使用起来十分方便。
由于使用了一个namespace,所有变量、类、函数都在这一个命名空间中定义,避免了变量名称的冲突。同时对内部做了较好的封装,这是本次接口设计的精华之处。

二、结对编程形式的收获
这是首次采用这种方式完成编程任务,觉得非常新颖,也体会到了这种模式的优缺点。
主要优缺点有:
1、与个人作业相比,首先结对编程开发力量更大,能完成的事情变多。
2、在结对编程中,多出了两个人交流以及分工的部分,有了两人分别承担驾驶员和领航员的角色的模式,“驾驶员”负责具体的编码工作,“领航员”则负责检查,及时纠正代码中的问题。结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能
3、两人互相交流,商讨实现方式,遇到问题时,能够做到互补。
4、能有效地缓解个人编程时的疲惫与倦怠。
5、结对编程特别适合于知识的分享和传递,可以让人学到很多东西,提升个人能力。
6、结对编程需注意要将效率相近的两人结对,才能够实现优势的最大化。

三、对接的收获
对接的过程是要和大量的人交流的,对于我们core组来说,就好像拿着自己的产品去跟别人推销一样。这是第一次做对接这样的工作,确实收获不小。
对接时,有些组设计的接口与我们的基本一致,这样就十分方便。而有些组,由于接口设计差异太大,以至于需要多做很多的工作。例如碰到有读写文件的组。所以对接这个事情,最最重要的还是要事先商量好接口,不能自己瞎搞,设计好接口之后所做的工作就会事半功倍,否则将多做很多无用功。这次的接口设计比较混乱,首先原因是因为大家都是第一次面对这样的问题,而且组数很多,大家解决的思路五花八门,又都没有什么经验,老师助教也准备看戏,所以造成了对接乱象。虽然很头疼,但回想起来也是挺有意思的一段经历,很有收获。
但是在以后遇到需要对接的工作时,一定会事先商量好接口!!!

以上是关于结对编程收获的主要内容,如果未能解决你的问题,请参考以下文章

结对编程收获

结对编程收获

结对编程收获

结对编程收获

结对编程收获

结对编程收获