zoukankan      html  css  js  c++  java
  • 十分有趣却有些遗憾的结对编程——两位女程序员的挣扎

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


    阅读目录

    题目要求

    关于驾驶员角色

    代码思想

    界面显示

    关于我的导航员

    个人感想


    题目要求

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

    在此我们选择了能够更好处理的题目1:
    我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:

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

    驾驶员角色

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

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

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


    代码思想

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

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

    **本题代码链接:
    **https://coding.net/u/mingmoushanlai/p/arithmetic_operation/git?public=true
    **我的小伙伴的博客地址:
    **http://www.cnblogs.com/leijia0329/


    界面显示

    ![](https://images2018.cnblogs.com/blog/1342961/201804/1342961-20180416185706268-317536310.png) ![](https://images2018.cnblogs.com/blog/1342961/201804/1342961-20180416190801813-1744443586.png)

    关于我的导航员

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

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


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


    个人感想

    ####这次结对编程真的是打开了我新世界的大门,原来编程还可以结对,好处实在是很多,比如在一个人苦恼着该如何设计得完美一些的时候,比如在改BUG改到不想再看代码的时候,比如后期的代码复审和单元测试,都离不开我的结对编程搭档。事半功倍什么意思也大概就是如此了吧,现在大部分大学生都习惯了自己学习或做事,人与人之间的合作真的不是一个简单的事情,而结对编程所能带来的是用最少的资源尽快尽最大努力地解决一个问题。 ####互相鼓励共同进步的这种学习方法是一个人编程所感受不到的,真的能学习到很多,即使我们两个人能力都不是特别强,都是菜鸟,但是两个人的智慧还是远远超过一个人的埋头苦想。两个人要不断的交流,还能提高彼此地自身实力。 ####这次体验真的不错,学习永无止境,无论用哪一种方法。
  • 相关阅读:
    33.数组声明方式(var构造函数) 、检测数组类型、数组的属性(封装好的就一个length)、数组的方法
    31.this指向(写出调用链,找最近对象) this的默认绑定 隐式绑定 显示绑定(call(绑定对象) apply(绑定对象) 当括号内没放绑定对象的时候恢复默认绑定) bind
    31.
    30.函数作用域链 (GO AO 也叫词法作用域链)、 调用栈、调用栈涉及this绑定
    29.包装类(构造函数) 包装类作用及调用栈
    916. Word Subsets
    246. Strobogrammatic Number
    445. Add Two Numbers II
    2. Add Two Numbers
    341. Flatten Nested List Iterator
  • 原文地址:https://www.cnblogs.com/joyce4/p/8849961.html
Copyright © 2011-2022 走看看