结对项目总结
在做个人项目时,只考虑了将题目完整、无歧义、无赘述的显示出来。未考虑如何进行计算,所以计算正确答案时遇到了很多问题。不过好在我在生成题目时,并没有像一些同学一样,以过程为导向,随机括号的位置。这样可能导致赘述,而且需要判断括号是否交叉,还导致难以计算的问题。我使用的是以结果为导向,随机运算符的优先级,根据优先级先添加括号,然后判断括号是否赘述,然后判断是否去除括号。这样避免了括号的赘述问题,也方便表达式的计算。 在这次结对编程中,我负责题目的计算和生成错误答案。在我动手做之前,java有计算表达式的函数,这让使用c++的我忍不住直喊“ java是世界上最好的语言! ”。不过当我看到他们计算出来的答案都是小数,不显示根号的时候,我觉得我可以做一个结果带根号的项目。因为像√55、√78、sin69这类的表达式根本就不是一个初高中生能计算的。然后我提取这些表达式最基本的单元:单项式。这个单项式包含以下属性:分子,分母,根号,根号下的数。它可以表示整数,分数,根号数,满足我的要求。因为这些复杂的运算,最后都化为单项式和单项式运算,所以我需要重载单项式的+-*/操作,最后根据需要调用+-*/即可。 说实话,这次的结对编程于我而言,作用不大。因为我们没有进行过需求获取、分析,也没有记录文档,而且还是按照之前的编程逻辑,面向过程编程,边写边分析,最后发现方向错了,还得重构代码。我在整个编程中