码迷,mamicode.com
首页 > 其他好文 > 详细

结对编程感悟

时间:2018-04-21 00:25:55      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:做事   strong   编程风格   mic   内核   二叉树   结果   结对编程   中间   

  我们是Core第四组,上学期在数据结构课程中我们曾经有过编写计算算数表达式的经历,所以知道自己要写内核后,感觉感觉在思路上不会有很苦难的地方,但是在随机生成表达式的编写时还是遇到了一些困难。这次的作业是结对编程和个人独立作业也有很大不同,需要两个人之间合作,最后生成API接口和UI组对接也是之前没有接触过的,两周左右的时间写完了core的确也有很多感悟。

结对与独立作业

  刚看到题目时被那些琐碎,冗杂的分支条件所震撼,真是一脸懵逼,看到API和接口更是不知所云。在随后的几天中,随着讨论的深入,思路也逐渐清晰。我们开始时是一起编写,一位领航员,一位驾驶员,但之后感觉这样的编程方式效率并不高,然后采取分工编写不同的子函数,有问题时再一起讨论的方式,后期主要是一起做一些细节的处理,如乘方和整数模式下如何生成表达式,总的来说是一次非常愉快的合作。

  结对作业的效率明显高于独立作业,当一个人的脑子不转了的时候,另一人人还可以继续做事,出现了Bug时通过讨论可以更快的解决问题,但是每个人都有自己的编程风格,遇到具体的问题也会有不同的想法,这就更需要沟通和磨合。

选择合适的数据结构

  在这次Core的编写中,我更加体会到选择一个良好的数据结构的重要性。

  在随机生成算数表达式时,我们想先生成后缀或者中缀表达式,但是实际编写中发现,直接生成算数表达式十分困难,表达式极有可能不合法,中间计算过程出现负数,计算困难等等问题。在后来的讨论中我们重新选择了数据结构,采用二叉树的形式,良好的数据结构也大大减少了我们的工作量,二叉树的树枝天然的时运算符,树叶时运算数,生成的时候非常方便。中间解结果只有可能在减号的时候出现负数,这时候左子树的数值大于右子树,只要交换左右子树就可以使这个表达式重新合法。在乘方模式下时,由于括号的堆叠很可能使计算结果很长,这是我们选择将乘方沉到树底,使他的左右不可能耦合括号,使得表达式和运算结果十分简介。在整数和除法模式时需要整除使结果为整数,表达式中只有可能在除法时出现分数,我们同样选择将除号沉到树底,使分子为分母的倍数,这样任何中间过程都是整数,满足要求。想清楚这些后我们编程也更有信心了,良好的数据结构为我们节省了很多的时间和精力。

 

 

 

 

 

 

 

结对编程感悟

标签:做事   strong   编程风格   mic   内核   二叉树   结果   结对编程   中间   

原文地址:https://www.cnblogs.com/ustcfanli/p/8894233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!