任务03——简单程序测试及 GitHub Issues 的使用

一、测试他人代码

  我被老师安排测试傅瞻昱学长的代码,测试时每道题我的计算结果都被判错,可是我是用计算器算的啊!与付瞻昱学长交流了一下,学长提交的代码是未完成的,所以

我帮学长检查bug的这个任务也只能先放一放了。

 

二、根据他人提出的issue修改自己的代码

  首先感谢徐杨易同学仔细认真的帮我指出问题,感激不尽,下面是他帮我指出的问题,可惜的是他把10个issue放在一个里面了

  根据每个问题我都有所考虑:

        1和2、数学是严谨的东西,分母不能为0,而且不可以带有#&等字符,如果用户错误输入非法字符和分母为0时,程序判断答案错误我觉得是对的。

           3、我理解为用户脑袋炸了可以随时终止程序,所以加了一条语句,用户输入"Esc"时,可以结束程序;

                             

           4、这里面我觉得最难的就是不知道如何判断,这道题是否与前面的题重复,现在也没有想到解决办法,不知道是不是应该用数组储存数据,之后进行判断;

 

        5和6、没有给予用户输入第二次答案的机会,但是根据许杨易同学的意见,如果用户答案错误的话,显示正确答案

                             

            7、之前DenominatorIsOne函数在判断分母是否为1的时候,引入了分子分母两个量,导致代码冗长;

                             

          8、代码的确有很多地方不太符合格式标准,还应该多学习下正确的格式(《阿里巴巴Java开发手册》:https://yq.aliyun.com/articles/69327?spm=5176.8217306.rtdmain.2.4wnB9y

          

         在代码测试阶段,自己发现了一个bug,负号不产生在前面,而是在分数线后面出现

                       

          反复阅读代码后发现,是在计算分子分母的公约数阶段出现了错了,负数和正数在计算最大公约数时使最大公约数为负,所以在除以最大公约数之后,导致分子变正,分母变负,

        所以在计算最大公约数的函数里面,将计算的最大公约数加上绝对值。

                       

 

        做完这次的任务三之后,在任务二的基础上又增加了了一个待解决的问题,分别是:

        ①:答案输入小数时如何进行判断是否正确;

        ②:五个式子以内以及带括号的运算该怎么进行;

        ③:避免生成重复的算式;

      每次的任务都是提高自己水平的重要环节,可以学习到很多课本上学不到的知识,每次的代码测试也是完善自己代码、提高水平的一个阶段,希望今天遗留的三个问题有朝一日可以解决。

 

 

      上周二,付瞻昱学长完成了任务二的代码,以下是我检查学长的代码,并提出的issue

         

posted @ 2017-04-09 18:11  裴健淞  阅读(271)  评论(2编辑  收藏  举报