结对编程收获

浩族至尊 浩族至尊     2022-11-04     497

关键词:

结对编程收获

这次我们抽到了core组,相对那些抽到ui的组来说,可以算是轻松许多,因为ui组要学习心得知识,而我们只需要根据现有的c++和c的知识就可以进行代码的编写了。

收获一:任务前要进行细致的任务规划和划分

在进行开始项目之前,我们俩进行了大概半个小时的任务划分,我负责写generate函数的内容,而另外一个同学负责写计算表达式的结果,与处理异常,我们约定了一系列的参数设置(setting),由于我不会c++,那个同学就对我说会用类的方法把参数传递过来,于是我们就开始分开写。我是定义了一个全局的数组,每次生成的表达式就会在那个数组中,然后每次开始的时候都会把数组清空,这样就可以多次调用,生成多个不同的表达式了,但是在对接的时候吧,那个同学比较严格,因为全局变量不太安全,所以要求用函数返回字符串,由于对string接触的比较少,所以我采用返回指针的方式,但是这个时候就出了乱子,生成的表达式中有很多的乱码,最后我们费了很大的劲才把返回类型改成string类型的,如果在实现我知道要返回string类型的字符串,我肯定会在写的时候就注意,不必在对接的时候费劲了。

收获二:代码结构很重要

由于我们是相当于做一个产品,所以用户是什么样的我们无法预测(比如用户可能有各种奇葩的输入致使我们代码出bug),我的代码思路很简单将generate函数分成三个小函数,分别实现整数,分数与小数,我这个人写代码比较喜欢条例清晰

string expression;
	if (properFraction == 0 && decimalFraction == 0) 
		expression = generate1();
		return expression;
	            //整数
	if (properFraction == 1 && decimalFraction == 0) 
		expression = generate2();
		return expression;
	            //分数
	if (properFraction == 0 && decimalFraction == 1) 
		expression = generate3();
		return expression;
	           //小数

  

,所以我的函数会比一般人多,大多数core组generate可能只有一个函数,不同的板块间的调用用if语句来实现。我的三个函数本来只是大体上相似,再具体函数的生成上,由于分数,小数结构与整数都不大相同,所以在生成上有着很大的不同,但是最后附加功能有表达式中要不能出现负数,所以很自然的思路就是前操作数减去后操作数若为负数,交换加括号,所以我要将三个生成函数逐一修改,非常的麻烦。所以我在改代码之前,先将整体架构更改了一下,这样子以后修改会更加的方便,修改一个函数就相当于修改三个。有一个好的架构,写代码会事半功倍。

收获三:要有完全重新写代码的觉悟

当助教说要在运算符左右两边加上空格后,我以为会很简单,在生成时加上就好,可是改了以后才发现,这并不简单,因为如果单是生成表达数,加上空格这一点实现很简单,但是我在实现附加功能的时候,是要更改原有表达式的,而且当时已经基本上我们core组的代码已经完成,在要改的话是非常麻烦的,由于要改很多地方,其实际难度不亚于重写一遍,在看了《人月神话》以后,我了解到,在实际团队项目中,重新写代码,重新开始项目是一件很正常的事情,有时候并不是你做好前期调研,做好一切准备就一定会成功的,因为总有出人意料的事情发生所以要随时做好重新开始的准备。

结对编程收获

结对编程这次项目之前我并没有了解过结对编程,在《构建之法》初次读到时,就感觉这种形式十分有趣,两个人编程既可以更好的解决编程问题,也会带来新的交流方面的问题。我和结对搭档在清明假期的第一天早上开始讨论... 查看详情

结对编程收获

结对编程收获这次我们抽到了core组,相对那些抽到ui的组来说,可以算是轻松许多,因为ui组要学习心得知识,而我们只需要根据现有的c++和c的知识就可以进行代码的编写了。收获一:任务前要进行细致的任务规划和划分在进行... 查看详情

结对编程收获

结对编程:   第一次与他人合作编程,一开始的时候听到这个消息自己是很惊讶的,惊讶在编程上也可以进行结对,同时也担心会发生老师上课时所说的一些冲突,类似大家的工作没有协调好,导致了对问题处理的不... 查看详情

结对编程收获

这次结对编程真的是一次很锻炼人的经历,过程中充满了波折,最终也有不少收获,下面就从具体技术和一般开发经验两个方面谈谈我这次的收获。具体技术上,这次采用的是Qt与C++,我曾经有过一些Qt经验,但只是自己写着玩... 查看详情

结对编程收获

结对编程全部结束,我是core组的,所以写一下在编程和对接过程的一些收获一、开始时的考虑:这个程序要求实现三种模式:整数、小数和分数,由于没有硬性的规定,所以我把分数和证书合在一起做,当除法结果是整数时为... 查看详情

结对编程收获

一、接口设计的收获Core的设计集成在一个namespace:calculator里面。设计之初是考虑到其使用方便,后续对接时也确实体现出了这样设计的好处。我们将所有内容囊括在了同一个core.hpp文件中,使用时只需包含这一个头文件即可。... 查看详情

结对编程收获

《结对编程收获》#关于类与C++  虽然自学过一点C++,但这是第一次付诸实践。C++的一个关键在于创建对象。所以对于这个项目,我们该创建哪些对象便是一个重大的难题。刚开始看C++的例子的时候,感觉对象的选择和创建都... 查看详情

结对编程收获-core10组-pb16110698

  本周结对编程追加作业:记录收获。坦白说,我的收获多而杂,一时不知从何说起,以下试图从各方面简要谈谈。一、编程能力收获  从编程能力方面,我收获的主要是类的设计思路和算法设计。在作业要求blog的指引下... 查看详情

结对编程收获(代码片段)

结对编程收获 这次编程作业一路走来,学到了很多编程中实际很有用的东西,比如总体框架的设计,真的不能自己瞎想,应该到网上去查找相似的代码,先把别人代码的框架大致都看懂了,最好多看几份代码,比较一下几个... 查看详情

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

结对编程项目—带UI的小初高数学学习软件一、项目需求用户:小学、初中和高中学生。功能:1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;2、用户完成注册后,界面提示... 查看详情

结对编程小结与收获

1.初始设计: 在拿到项目需求之后,我和伙伴经过讨论最终决定做一个javaweb小项目来实现需求。登录注册部分,初始的账户沿用了个人项目的几个固定用户,注册部分注册成功后直接进入系统(注册不用存入数据库)选择试... 查看详情

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

...起去码代码,让这几天过得比较有意义。  这次的结对编程项目实在以前的个人项目的基础上实现的,其中出题模块完全时个人项目的引用,敲了几天代码,感觉自己在图形界面这一方面也有了一定的基础,可以实现一些... 查看详情

关于结对编程

    本次结对编程我的搭档是冉华同学,在这次结对编程的过程中我收获良多,之前我拿到题目后非常焦急,因为发现功能一就需要用到逆波兰表达式,但是之前编译原理学习的相关知识已经忘了,而且接触c#的时... 查看详情

结对作业收获

结对作业收获随着结对编程的告一段落,我们的个人项目也就结束了。不得不说,经历过这两次作业的磨练,自我得到了很好的锻炼。以下就简要说说我的收获和反思。一、知识和技术层面上的收获一开始接到这个任务是比较茫... 查看详情

阅读《构建之法》第四章第十七章收获

...候设计的函数根本用不上,造成代码冗余。同时也认识到结对编程的重要性,没读这本书之前就觉得结对编程就是两个人一人负责一个模块,然后合在一起,调试调试。但实则不然,真正的结对编程应该像书中那 查看详情

结对编程

   结对编程一.项目前述    1.项目内容         1.1小学老师每周用该软件随机给同学出300道四则运算题         1.2编程语言 java(因为要... 查看详情

结对编程心得---------优秀的队友是成功的一半(代码片段)

一,结对编程的收获1.团队分工  结对编程作业大部分的时间都是采取共同编写代码,即“一个做驾驶员,一个做领航员”,驾驶员负责敲键盘,领航员在一侧提供建议、检查错误或帮忙搜索相关的资料。 就这次团队... 查看详情

《代码大全》阅读笔记二

...虑到需要经过代码复查,编写时便会更加审慎。这本书对结对编程没有那么重视,只是将其看做一个有一定意义但不适合大规模项目的实践方法,因此讨论得没那么详细。尽管如此,我阅读时联想自己结对编程的经历,还是很有... 查看详情