编程语言
首页 > 编程语言> > 结对编程分析

结对编程分析

作者:互联网

结对编程相互分析

一、简介

本博客为对刘同学中小学自动出题个人项目的代码评价,该项目主要为用户登录生成可小学、初中、高中对应要求的题目并以.txt形式保存

二、代码分析

项目功能主要依靠定义的login类和create_questions类来实现,user类用以存储用户基本信息。

在login类中,通过对各函数的使用有效实现了与用户交互的功能(如所需的登录、切换类型等等),判断是否切换状态时,对输入的字符串进行分割处理来判断是否符合要求。

create_questions中主要实现的是对小学、初中、高中试题生成的功能,在试题生成时,利用随机数产生随机的操作数数量以及随机操作数、操作符,生成括号时同样也采用了随机生成的方法,加上一些括号生成的标志符使得括号的生成相对合理。

int k = random.nextInt(100) + 1;//随机1-100的数
                    int t = random.nextInt(4);//随机符号
                    boolean braketj = random.nextBoolean();
                    if (j == 0) {
                        braketj = false;
                    }
                    if (j == count - 1) {
                        if (braket == 1) {
                            question = question + k + ")";
                            break;//如果最后还差个),在末尾添加
                        }
                        question = question + k;
                        break;
                    }
                    if (braketj == true) {
                        if (braket == 0) {
                            question = question + "(" + k + Tga[t];
                            braket = 1;
                            continue;
                        }
                        if (braket == 1) {
                            question = question + k + ")" + Tga[t];
                            braket = 0;
                            continue;
                        }

                    }
                    question = question + k + Tga[t];//无括号生成时才进行

 

在查重方面上采用了将已生成的题目存入同一个.txt文件中,在再次生成题目时与其中已生成题目进行对比来进行查重。

三、优缺点分析

(优点

  1. 代码命名规范,使用大小驼峰命名,很容易看出变量及函数用途
  2. 函数分类清晰,利于后续功能改动与补充,目录划分细致、接口对接明确,可拓展性强
  3. 将用户整合成一个类,清晰易懂,增加了可读性
  4. 利用随机函数实现了题目的随机性,符号随机,数字随机以及括号随机

(缺点

   1.login类中一些功能未使用函数实现,而是全部功能实现包含在main()函数中,代码阅读起来相对复杂

   2.导入库使用了通配符,不符合Google规范

   3.利用arrayList<User>存储用户数据,对用户信息维护及新增用户不便

四、功能测试

  功能基本实现(但一些特殊情况未考虑到)

  

 

  生成题目

  

 

 

 

五、总结

  功能相对完善,细节考虑周到,但是任有部分不足之处。总体看来,值得我学习之处颇多。

标签:分析,braket,结对,题目,编程,question,生成,括号,随机
来源: https://www.cnblogs.com/ldsismyson/p/16690490.html