十分有趣却有些遗憾的结对编程——两位女程序员的挣扎

两人合作项目作业正式开始,一次真正意义上能够了解对方能力并互相努力互相鼓励共同进步完成项目的愉快的小型团队合作,本次合作我们两位女生的火花碰撞的很不错,打开了结对编程的新世界


阅读目录

题目要求

关于驾驶员角色

代码思想

界面显示

关于我的导航员

个人感想


题目要求

要求:

本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。

在此我们选择了能够更好处理的题目1:

我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:

  • 能够自动生成四则运算练习题
  • 可以定制题目数量
  • 用户可以选择运算符
  • 用户设置最大数(如十以内、百以内等)
  • 用户选择是否有括号、是否有小数
  • 用户选择输出方式(如输出到文件、打印机等)
  • 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

驾驶员角色

之前介绍了我和我的小伙伴雷镓一起进行此次结对合作项目,虽然我们两位都是女生,我的代码能力可能也不强...但这次还是负责了这个题目的全部代码,选择了驾驶员角色。雷镓同学则负责后期的单元测试以及导航员的角色,辅助我完成这次项目的代码。

其实驾驶员角色不是那么容易的,代码要考虑的因素很多,此次作业只有一周时间,而我仅有两天的时间完成前期的工作,这样才能给后期创造更多的时间,加上最近换季感冒发烧很严重,我也不幸中招了,拖着难受的身体编出来的代码自己其实特别不满意,很想感叹一下,如果时间再多一些,我真的能做的更好。

还有一个感受就是自己会的知识还是太少了,其实我们想做一个好看的可视化界面的,生病也造成了一些原因,特别遗憾,已经研究了一半但最后还是没有在规定时间内做出我想要的东西,遗憾,又自责,自己作为驾驶员应该有能力承担这一些任务的,觉得自己能力实在不够撑起我们两个人,写的代码也不是很规范也不简洁,愧对于我的导航员小伙伴雷镓。


代码思想

本次四则运算生成项目其实是一个挺简单的题目,但这个项目我想做得比较符合实际情况一些,对于小学生来说,如果随机出现了几位的乘法除法并且还带小数的话我觉得本身就是不合理的。所以和我的小伙伴讨论之后,并且回顾了我们小时候所做过的那些算术运算本,觉得还是设置两位和三位两种运算位数,并且把小数控制在两位即可。

我还设置了五种运算方式的选择,包括加减乘除和混合运算,这样应该会更贴近生活吧,并且两位的时候带不带括号就没什么意义了,所以我只在三位运算的时候做了可以选择括号的处理。项目也还包括一些基本功能,是否选择小数,是否选择带括号,用户自己控制最大数和想要的题数等等,这些实现起来就比较容易。

本题代码链接:

https://coding.net/u/mingmoushanlai/p/arithmetic_operation/git?public=true

我的小伙伴的博客地址:

http://www.cnblogs.com/leijia0329/


界面显示


关于我的导航员

我和我的导航员这次配合的很愉快,首先编写代码的过程中,我们两个首先是一起参照题目所给的要求来制定功能,在分析题目的时候考虑到了很多种情况,其实一开始加入了判断题目正确与否的这个功能,这对于整数部分是非常好实现的,但在我后期编写小数部分的时候,可能是由于我随机小数的设置原因吧,造成了判断小数是否正确这一部分会有些歧义,一个小数除以一个小数的结果可以是很多位,这一点让我有些头疼。后来导航员说我们暂时先去掉这部分功能,先把括号等其他基本功能实现了之后再加入判断的功能吧,这让苦恼的我顿时又燃起了重新编码的信心。

编码过程中也出现了一些BUG,在寻找修改bug的过程中,我的导航员雷镓同学一直在我身边陪着我一起,有一个问题确实当时摸不着头脑不知道哪里错了就有些烦躁,但是雷镓一直在我旁边,又从头陪我看了一遍函数,一起分析哪里出现了失误,最后能够成功改出错误,虽然表面上是我改的的代码,但是雷镓给了我很大的帮助,无论是情绪上的还是心理上的。两人合作的好处在这里就体现出来了。我认为这次我的小伙伴的辅助和复审工作做的还是不错的,给我指出了一些不足,也让我们的程序得以改进。

(黑衣:我 红衣:小伙伴雷镓)


个人感想

这次结对编程真的是打开了我新世界的大门,原来编程还可以结对,好处实在是很多,比如在一个人苦恼着该如何设计得完美一些的时候,比如在改BUG改到不想再看代码的时候,比如后期的代码复审和单元测试,都离不开我的结对编程搭档。事半功倍什么意思也大概就是如此了吧,现在大部分大学生都习惯了自己学习或做事,人与人之间的合作真的不是一个简单的事情,而结对编程所能带来的是用最少的资源尽快尽最大努力地解决一个问题。

互相鼓励共同进步的这种学习方法是一个人编程所感受不到的,真的能学习到很多,即使我们两个人能力都不是特别强,都是菜鸟,但是两个人的智慧还是远远超过一个人的埋头苦想。两个人要不断的交流,还能提高彼此地自身实力。

这次体验真的不错,学习永无止境,无论用哪一种方法。



十分有趣却有些遗憾的结对编程——两位女程序员的挣扎

原文地址:https://www.cnblogs.com/joyce4/p/8849961.html

时间: 2024-10-01 07:31:15

十分有趣却有些遗憾的结对编程——两位女程序员的挣扎的相关文章

我为什么自学编程?如何转行程序员小型攻略

很多人在遇到事业瓶颈,或者从事一份自己不喜欢工作,又或者对未来迷茫的时候,总能看到很多人说,转码农,当程序员. 诚然,转行当程序员不仅是政治正确还是事实正确,但是这个过程其实并不容易,倒不是因为程序员门槛高,而是很多人认为学编程很难,并且拒绝尝试. 其实掌握方法后,并且拉近自己与编程的距离,你会发现,你完全可以做到. 刚好这半年,自己一直在学习Python,根据自己这半年自学编程的经历,班门弄斧,分享一下自己自学编程上的一些学习心得. 另外这边大神较多,本篇文章只是抛砖引玉,肯定有不靠谱地方,麻

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?首先,百度给出“银弹”是这样的解释:能杀死狼人的利器 在古老的传说里.狼人是不死的.想要杀死狼人有几种方法: 1.像杀死吸血鬼那样用木桩钉住狼人的心脏. 2.将月光遮住 3.用银子做的子弹射穿狼人的心脏或头 当然现实中是没有狼人的.但现实中确实有银弹这个东西.而其意义也类似于能杀死狼人的最好办法.现实中的狼人可以是一个棘手的项目,或者一件不可能的事.而“银弹”就是指能解决这些事的方法,或者技术手段. 我不认中文编程是

2.有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

银色子弹(英文:Silver Bullet),或者称“银弹”“银质子弹”,指由纯银质或镀银的子弹.在欧洲民间传说及19世纪以来哥特小说风潮的影响下,银色子弹往往被描绘成具有驱魔功效的武器,是针对狼人等超自然怪物的特效武器.后来银色子弹常被用做致命武器的代言词.被比喻为具有极端有效性的解决方法,作为杀手锏[1]  .最强杀招.王牌等的代称. IBM大型机之父佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)在1986年发表的一篇关于软件工程的经典论文,便以<没有银弹:软件工程的本

“中文编程”是解决中国程序员编程效率的秘密武器,这是一个银弹吗?

我不认为“中文编程”是解决中国程序员编程效率的秘密武器,也不是一个银弹. 1.中文字符比英文字符所占的内存大,运行起来比英文的慢: 2.中文容易出现的问题比较多,而且还存在兼容性: 3.大多时候,英文输入比中文快: 4.编程的快慢应该跟个人的习惯有关(就像有人用五笔打字快有人用拼音打字快一样),跟个人的编程能力有关. 当然,中文编程也给程序员带来了便利.可以解决程序员英文不好的问题,而且,如果实在不愿意学英文的话,还可以把用来学英文的时间用在研究程序上,让编程更上一层楼.但这些便利绝对不能说是银

关于“中文编程”是解决中国程序员编程效率的银弹的看法

讨论题目: 有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么? 银弹被比喻为具有极端有效性的解决方法,作为杀手锏 .最强杀招.王牌等的代称.IBM大型机之父佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)在1986年发表的一篇关于软件工程的经典论文,便以<没有银弹:软件工程的本质性与附属性工作>(No Silver Bullet — Essence and Accidents of Software Engineering)为标题.其中的“银

110本经典编程技术书_程序员必备_菜鸟窝 资源收藏

下载总目录列表如下: [.NET]108<深入理解C#(中文第三版)>.pdf:  下载[.NET]109<NET CLR via C#(第4版)>.pdf: 下载[.NET]110<精通C#(第6版)>附源代码.zip: 下载[Android]1<Android编程权威指南第二版(英文版)>含源码.zip: 下载[Android]1<Android编程权威指南(第2版)>.pdf: 下载 https://itdocs.pipipan.com/f

编程零基础做程序员,该怎么学习?首先要学习什么?

编程零基础做程序员,该怎么学习?首先要学习什么?众所周知程序员是21世纪比较吃香的工作.程序员工资高还不需要和复杂的社会打交道.那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下.零基础的我该如何学习?如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适.笔者是一个Java出身的程序员,学习编程有什么学习问题或者关于Jav

有人认为,“中文编程”是解决中国程序员效率的秘密武器,请问它是一个“银弹”么?

编程用什么语言只是一个标识符,以中文为母语的我们使用中文编程自然不会有什么劣势,作为程序员,习惯了英语编程,用中文也没什么优势.编程语言归根结底是技术,决定一种编程语言成败的,并不是使用什么语言来做标识,而是有没有技术上的优势来适应开发.英语是国际通用的语言,自然编程语言的标识都采用英语元素.

关于中文编程是解决中国程序员效率的秘密武器的问题思考

中文编程在理论上确实可以提高中国程序员或者说是在汉语言环境下成长学习的人,因为语言环境可以影响一个人的思维方式和习惯,我们对英语的学习局限于课堂知识的学习,没有一个比较好的英语环境,所以我们的思维在很大程度上很难去按照英语的一些思维习惯去理解和做事,所以在这方面上理解我是认可中文编程是一个解决中国程序员效率的一个方式. 就像以英语为语言进行设计的各种编程语言一样,汉语编程的发展和成熟也需要一个时间,不可能一蹴而就,不只需要成熟的语言系统还需要一种甚至是几种适合各种任务的编译软件,我们现在主流的语