• HNU_个人项目_中小学数学卷子自动生成程序_简要分析HnuLyx代码


    一、前言

      首先,在这里特别感谢我的结对编程伙伴HnuLyx,他在算法上和设计思路上都与我有很大的不同,个人项目互评中,为我的项目提出了很多很好的建议,让我在认清自己不足的同时,了解到很多以前没有注意的地方。此处附上链接,便于以后翻阅。

      其次,我来对HnuLyx的个人项目稍作评论,在发现内在不足的同时,学习长处,取长补短。

     

    二、测试与评价

    1. 黑盒测试

      在拿到项目文件后,我先进行了黑盒测试,从运行上体会程序的编写。

      (1) 优点1:界面设计较好(是我要学习的地方),用户体验感会得到适度的提升,操作简单易懂,便于操作,题目正确;

         缺点1平方的“^2”换成“²”(Alt+0178就可以用键盘打出);

               

       (2) 将已建立的文件夹删除后,显示报错;

          缺点2:但是建议制作创建文件夹的操作,mkdir()函数可以解决这个问题,可以为大批量用户使用时,节省很多不必要的创建文件夹的操作;

          

        

      (3) 缺点3:与描述不符,建议修改,明明是退出当前用户,却返回上一界面,需要优化。

        (虽然已经实现了需求的退出功能,但是使用上的合理性也是要考虑的呢,可不要功亏一篑咯~)

        

      (4)优点2:数据容错性较高,错误输入会提示并可供重新输入。

        

      以上,为黑盒测试的全部内容,功能正常,界面舒适。

    2. 白盒测试

      为了进行白盒测试,HnuLyx与我用了一个下午来交流双方的代码,并且进行讨论。

      经过他的讲解,我对系统内部的结构和工作原理有一个清楚的了解,明白盒子内部的东西以及里面是如何运作的,从而考虑测试用例,发现内部的长处与不足。

      (1)优点3:整体上,先大致浏览代码,我会清晰的感觉到,HnuLyx的代码模块化设计良好,一个函数实现一个功能,极大的增强了代码的逻辑性,可读性;

         (虽然我也有写一些函数,但是在功能的架构上,可能略逊与他,不是特别清晰)

        

       (2)优点4:登录数据保存在文件中;

         (其实,通过了解代码后才发现,HnuLyx为了提高程序的可拓展性,将用户登录数据存储在txt文件中,每次登录时进行查询。

         如果在以后拓展程序,这将会带来极大的便利。)

        

         

      (3)缺点4:在了解了该程序算式生成的算法后,经过多次测试,我发现了一个问题,虽然题目达到需求的要求,但是无法将题目完全随机,如:

            每个操作数只能有一个左括号,举个例子:7*(8+(9+1))+5   而不能生成如7*((8+9)+1)+5。

        (右括号受左括号限制,需求中最多五个操作数,则右括号最多3个:A + ( B + ( C + ( D +E)))。)此处数据过多,不便截图展示,抱歉。

      (4)优点5:HnuLyx在编程时,他除了考虑了架构的合理性,还考虑到了程序的性能问题,有所针对的优化部分代码,提高程序性能。

            如,通过getchar(),cin,scanf三者性能的比较,得到getchar()的效率最高,并且加以调用,以便未来在查重时大量数据的输入效率问题。

      

      以上,为白盒测试的全部内容。再次感谢HnuLyx同学的耐心讲解。

    三、简单几句

      在软件工程导论的学习过程中,我逐渐有了一种职业感:个人项目、结对编程、团队项目。逐渐,逐渐,我们将在学习中逐渐成为真正有能力,有担当的中国青年程序员!
      我们会在老师的引导下坚持相互学习,共同进步。
      相信在结对编程过后,我们都会有长足的进步!
     
  • 相关阅读:
    PHP后门新玩法:一款猥琐的PHP后门分析
    中国菜刀批量导出数据
    渗透测试:反弹与转发小结
    怎样用Java自制优秀的图片验证码?这样!
    6条 Tips 为你照亮 GitHub 寻宝之路
    如何搭建一个“不可告人的”私人专属网盘?教程拿去
    6个炫酷又好用的 Python 工具,个个都很奔放呀
    20个Java练手项目,献给嗜学如狂的人
    如何自己动手写一个搜索引擎?我是一份害羞的教程🙈
    GitHub上个最有意思的项目合集(技术清单系列)
  • 原文地址:https://www.cnblogs.com/Comet-Fei/p/11553487.html
Copyright © 2020-2023  润新知