zoukankan      html  css  js  c++  java
  • 结对编程之队友代码赏析

    前言:

    本以为结对编程就只是让两个小伙伴合作完成一个小工程项目就OK啦,没想到在开始之前还有这么一手操作——赏析队友的代码!因为在我看来,现阶段大家写的代码的规范性都是稍微欠缺一些的(PS:队友用的是java,我用的是C++),读别人的代码无疑是对心态的一种挑战,不过从中,收获颇多~

     

    队友代码总括:

    用的是java语言来写,整个工程的完整性以及条理性都很好,思路也是特别地清晰,可拓展性强,能满足用户的需求,很好地利用了java语言的优点。

    1. TestPaperProgram类

    这个类完成了用户的登录、状态的切换、以及题库生成等用户需求。

    优点:

    使用MAP来完成账号和密码的配对,值得学习;

    ②JudgeInput可以完成登陆后在输入的时状态切换;

    ③代码条理清晰,每个方法分开实现,便于维护;

    缺点:

    ①变量没有注释,部分重要代码注释有点儿少,不便于小编读代码;

    可将PrintInfor方法写进main函数中;

    1. PrimaryMathTeacher类

    这个类完成了小学题库的生成,难点在括号的处理。

    优点:

    ①生成后缀表达式,然后利用栈转换成中缀表达式来完成对括号的处理;

    ②通过运算优先级的判断,完成对无意义括号的删除;

    ③巧妙地生成了用户文件夹和调用了系统时间;

    ④查重函数将每次生成的题目保存下来,再将其保存之前依次比较确定是否为重复题目;

    缺点:

    ①随机函数可写成一个方法多次调用,就不必多次写随机函数;

    ②在后缀表达式中,少了一些情况没有考虑到;

    1. JuniorMathTeacher类

    这个类完成了初中题库的生成,难点在括号的处理及根号和平方的处理。

    优点:

    ①随机生成根号和平方,避免了题目中过多的根号和平方的出现;

    ②巧妙地考虑根号和平方能出现的位置来完成题目的生成;

    缺点:

    ①随机函数可写成一个方法多次调用,就不必多次写随机函数;

    ②代码有些冗余,建议再精简些;

    1. SeniorMathTeacher类

    这个类完成了高中题库的生成,难点在括号,三角函数及度数的处理。

    优点:

    ①抛出异常,打印轨迹,方便查错;

    巧妙地考虑不合理题目的生成,例如:sin(60+sin60°);

    缺点:

    ①题库中缺少三角函数及根号、平方的套用的题目;

    ②覆盖面不全,应考虑平衡每一题的难度;

  • 相关阅读:
    C++中函数模板template的使用
    C++中模板template和类class的结合使用
    Python中shuffle函数
    Python中利用tkinter模块构建图形用户界面GUI
    Python中怎样初始化一个类类class?
    Python中字典的has_key方法在3.4版本中改为in
    Python中怎样对数据集整体进行映射转换类型
    matlab中怎样对矩阵的某一列进行排序而使得其他列对应移动??
    Python中怎样使用shape计算矩阵的行和列
    27.反射2.md
  • 原文地址:https://www.cnblogs.com/peboddy/p/9715757.html
Copyright © 2011-2022 走看看