首页 > 其他分享 >个人项目互评

个人项目互评

时间:2023-09-19 22:25:43浏览次数:23  
标签:题目 String 个人 项目 代码 用户 互评 sql public

一.整体分析:

苏晨阳同学的代码包括了大量的类,大致分析如下:

1. User类:这是一个抽象类,包含了用户的基本信息(name、password、authority)和一个设置用户权限的方法。其他用户类(如Teacher)可以继承这个类来共享属性和方法。

2. Teacher类:这个类继承了User类,表示教师用户。它包含了各种方法,用于生成数学题目、处理用户登录和权限切换,以及创建文件夹等操作。该类依赖于Method和Autica类来完成题目生成和身份验证等功能。

3. Autica类:这个类处理用户身份验证和题目去重。它可以验证用户身份和在数据库中操作题目,还包含一个sql类的实例。sql属性充当了与数据库交互的接口。

4. Method类:这个类包含了生成数学题目的方法和一些加载界面的具体方法。除此之外还包括计算答案和创建文件等方法。

5. Sql类:这个类负责与数据库交互,包括验证用户身份、检查题目是否重复以及插入新题目等操作。它使用JDBC连接到数据库并执行相应的操作。

 

二.优点:

1.将代码分别写到多个类的编程方式是我值得学习的地方,这样子会有很多优点,可以更好地组织和管理代码。使代码更易于理解和维护,和类的重用。

2.苏同学采用了数据库交互,在处理用户数据和题目数据时显得非常便捷。数据库允许数据长期存储,同时提供了安全的存储机制,这有助于保护数据。数据库提供了强大的查询和检索功能,虽然在本次个人项目中对此需求不高,但是考虑到未来的功能拓展,在一开始就采用数据库存储是很明智的。

3.代码基本符合谷歌规范,包括方法命名以 lowerCamelCase 风格编写。这样子提高了代码的可读性便于我理解代码。lowerCamelCase 命名风格使得在编写代码时更容易触发自动完成提示,提高了编码效率,比如以下是Autica类的内容:

 

public class Autica {

  Sql sql = new data.Sql();

  public String Authentication(String account, String password) {
    String ss = sql.Check(account, password);
    return ss;
  }
  //验证账号密码

  public String changeAu(String account, String authority) {
    String ss = sql.changeAu(account, authority);
    return ss;
  }
  //验证账号密码

  public String checkSql(String prob, Double ans) {
    String ss = sql.checkProb(prob, ans);
    return ss;
  }
  //题目去重

  public void insProb(String prob, Double ans) {
    sql.insProb(prob, ans);
  }
}

三.缺点

1.部分错误处理不完善,有的读取输入函数没有考虑到用户的异常错误输入。比如createTopic(),用户可能并不会输入一个int型。

  public int createTopic() {
    m.top(name, authority);
    m.createTopic(authority);
    Scanner it = new Scanner(System.in);
    int num = it.nextInt();
    return num;
  }

2.在生成题目的时候,对于三个难度分别写了三个函数,这会导致部分代码的重复出现,导致如果将来需要添加新的难度级别或进行修改,必须分别修改每个独立的函数。还有可能产生代码冗余。这会浪费内存,增加代码复杂性。

3.部分代码结构过于复杂,然而注释却比较匮乏,导致阅读起来较为困难。

标签:题目,String,个人,项目,代码,用户,互评,sql,public
From: https://www.cnblogs.com/Little-genius/p/17715955.html

相关文章

  • HNU个人项目互评——中小学数学卷子自动生成程序
    结对编程互评代码作者:软件2104潘胜蓝互评作者:软件2104苏晨阳一、摘要该作业是由潘胜蓝同学使用Java语言完成的“中小学数学卷子自动生成程序”。在代码设计方面,对小学教师、初中教师、高中教师三种角色属性进行了抽象提取,利用java抽象类和继承的优点进行编写;通过自行编......
  • HNU个人项目互评:中小学数学卷子自动生成程序
    一、功能测试1.登录功能命令行输入用户名与密码,当用户名与密码都正确时,显示当前为XX出题 正常输入时功能正常,但是当只输入用户名时发生了异常,应该是没有考虑只输入一个(没有测试bug呀!)Stringstr[]=in.nextLine().split("\\s+");nuser.setName(str[0]);......
  • Go项目学习(2)-viper
    前言GitHub地址Api地址详细教程可直接参考Github,已经很详细了,这里只进行简单入门知识总结。介绍用来获取配置,配置可来自flag、环境变量、配置文件、远程配置……获取配置的优先级:Set,flag,env,config,key/valuestroe,default。配置项的值可以直接通过Viper中一系列get函数获取,......
  • 个人项目互评
    软件2103桑健康队友李明胜功能测试登录模块需求:系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取......
  • 个人项目互评
    本博客为湖南大学2021级软件工程导论课程的结对小组个人项目互评。根据本课程“做中学”的要求,我们第一周完成了个人项目代码,现在结对完成代码互评。编程语言:C++结对成员:顾问、郑雨凡文章作者(评价人):顾问代码作者:郑雨凡一、个人项目要求:用户:小学、初中和高中数学老师......
  • HNU个人项目中小学数学卷子自动生成程序互评
    一、简介本博客是对结对编程队友代码的分析与总结,代码使用语言为JAVA。完成情况:很好的实现了项目的需求,功能完整。同时每个页面的提示信息都比较完整,在不需要他人协助的情况下,可以根据屏幕上的提示信息进行操作,如果用户输入不正确,系统会出现指示,显示正确输入格式,用户可根据提示......
  • 【HNU 个人项目互评】结对编程互评-Java
    【结对编程互评-Java】中小学数学卷子自动生成程序项目名称:中小学数学卷子自动生成程序编程语言:Java代码作者:张钉评价人:张诗泉目录1项目要求1.1目标用户1.2实现功能2代码分析3功能测试3.1登录功能测试3.2出题功能测试3.3保存与查重功能测试4优缺......
  • uniapp项目实践总结(十八)自定义多列瀑布流组件
    导语:有时候展示图片等内容,会遇到图片高度不一致的情况,这时候就不能使用等高双列或多列展示了,这时候会用到瀑布流的页面布局,下面就一起探讨一下瀑布流的实现方法。目录准备工作原理分析实战演练案例展示准备工作在pages/index文件夹下面新建一个waterfall.vue的组件;按......
  • 个人项目互评
    这两天完成了和谢文琛同学的个人项目作业互评。一.功能测试: 能够正常登录各用户且出题符合要求小学难度: 初中难度: 高中难度: 切换难度可以正常实现 输入-1后退出到登录界面 二.优点:1.首先非常完整地实现了系统所需要的功能,生成题目也符合要求。    ......
  • hnu个人编程项目评价
    一、简介1.项目名称:中小学数学卷子自动生成程序2.编程语言:JAVA3.完成情况:按照个人项目需求完成了要求的功能4.完成同学:朱智星,评价者:杨安然5.项目需求:5.1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根......