其他分享
首页 > 其他分享> > 中小学试卷生成个人项目结对互评

中小学试卷生成个人项目结对互评

作者:互联网

一.简介

本博客为对崔舒媛同学(后续称崔队)的个人项目的评价分析

二.代码分析

1.代码简述

队友通过对个人项目需求设计了一个Teacher类用于存储获取,以及一个主要功能类User实现个人项目的需求;在Teacher类中声明了用户的名称和密码,同时还有四个函数用来获取和修改Teacher类中的两个字符串;在User类中分别有initialinterface实现主要交互界面,chooseprimary选择小学用户,choosejunior选择初中用户,choosehigh选择高中用户,creatfile创建目标文件,createquestion创建试题,changechoose改变用户类型,choosesign操作符选择;

2.各部分描述
(1).用户登录

上图为崔队的teacher类设计,并未完全展示;在该类中崔队设计了username和password这两个变量来表示用户名,而用户类型则放置到了三个choose“type”函数中,这也就导致了choose“type”函数写了三份来应对三种不同情况,这样虽然带来了许多重复的代码,但是也保证了不同情况应对的准确,如果可以缩减这三个choose函数为一个同时保证应对正确,那么这个部分将变得更加漂亮;同时注意到崔队因为将文件路径分别读取用户信息后再生成,这样产生的路径是准确的,但也就导致了上面的多个函数的问题,如果可以在Teacher类里面添加上一个根据username获取到用户信息然后生成用户文件路径的函数,这样对于解决多个函数的问题有很大帮助。

(2).试题生成(包含查重)

 

 上述代码即为崔队的试题生成及查重的主要函数的部分截图;可以看到在崔队的生成试题代码中将生成题目分为了三个IF语句,将小学,初中,高中生成题目相互之间并不干扰;在具体的生成试题中以高中为例,崔队将生成题目分为了随机生成括号,随机生成其他符号,随机生成一个操作数,随机补充完整试题;崔队巧妙的将所有符号用一个choosesign函数来获取这样就使得获取操作符变得方便可重复,避免了重复了只运行一次的代码;而后为了式子的完整性在每次生成完式子后根据试题中括号统计数补充完整,使得式子完整,当然这样也就可能会产生开头结尾都有括号的式子,虽然对于式子没有影响但是出于美观考量(虽然本人生成的式子更加的ugly)还是以后可以尝试改进的,说不定式子好看做的人心情也就不会那么沉重了;式子生生成之后自然而然要进行出厂检测,不合格就打回重做,当然这样的试题工厂,不合格自然指的是与之前的试题有相同的,这为了没有答案可抄可是煞费苦心啊!于是乎就查呗,当然查的话也有不同的方法,这儿崔队采取的自然是一个个文件读取查重,这样的话主要就是需要读之前的所有文件,所以也就会需要不断的打开关闭,读取文件,这样的话可能就是体现在时间要久一点吧,至于如何改进还等待继续的学习了。

三.优缺点分析

1.优点

崔队的程序在与用户交互方面有着非常漂亮的提示,给用户的感觉特别良好,对于许多文档里没写到的提示,崔队都很贴心的给了提示,对别人使用十分友好;

崔队的代码格式规范,变量命名都恰到好处,对于阅读代码的人来说是十分友好,能够让别人清晰的知道意图;

崔队对于生成文件采用的是在当前文件夹生成,这样就避免了因为使用电脑改变而导致的结果错误。

2.缺点

崔队在代码的有些地方上还可以继续改进避免过多的重复,找到具有相似功能的部分尝试合并;

崔队在对于一些应对方法上可以多尝试以挑选在空间或时间上取舍对于特定场景更好的一个。

四.个人总结

通过此次代码相互分析我看到自身在编写代码中有着很多不足,对于用户的考虑并没有到位,没有站在使用者的角度来想如何帮助用户更好的使用本程序;在一些方法上的选则也并不是那么到位,对于编程中空间时间性能的取舍还是远远没有考虑恰当;对于代码规范也是一塌糊涂,在并未阅读他人代码前对于规范是不重视的,这时需要以后加强重视,多站在他人的角度考虑,这样才能使得程序能够更好满足人们的需求;对于我而言,这样的经历也是又一场开始,希望可以和队友相互学习,继续提升,达到合格的标准。

标签:崔队,结对,试题,试卷,用户,生成,互评,代码,式子
来源: https://www.cnblogs.com/zbblogs/p/15345810.html