[2018福大至诚软工助教]个人项目1测试结果
零、测试前提
- 本次测试使用的测试程序链接:https://github.com/ChildishChange/zcxyAutoTest
- 本次测试亓老师仓库内的所有代码:https://github.com/qixjing/MathExam2018
- 本次测试的流程为
- clone 代码仓库
- 检查文件夹、java文件命名是否标准
- 不标准则不加入测试
- 编译java代码
- 编译失败不加入测试
- 检查是否引用了
Scanner
- 引用则不加入测试,若有引用了但是未使用的同学,请在博客下留言
- 本次测试的数据如下:
10 100 10 1 100 1 10 2 100 2
一、自动测试结果
仅测试了提交作业的同学,点击表头内相应项目可针对该项目进行排序。有任何问题,请在博客下评论。
格式为:
我的学号是:xxxxxxxx
我的问题是:xxxxxx
班级 | 学号 | 后四位 | 合乎规范的提交 | 编译失败 | 未使用命令行 | 两次commit | 四次commit | 可运行文件 | 提交规范 | 未空行分开 | 有等于 | 实验1 | 实验2 | 得分 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 211601233 | 1233 | 2 | 0 | 0 | 5 | 5 | 0 | -5 | 0 | -2.5 | 5 | 10 | 17.5 |
2 | 211601253 | 1253 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
2 | 211611302 | 1302 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | -2.5 | 10 | 10 | 27.5 |
1 | 211614269 | 4269 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | 0 | 10 | 10 | 27.5 |
1 | 211614331 | 4331 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | -2.5 | 10 | 10 | 27.5 |
2 | 211614354 | 4354 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | -2.5 | 10 | 5 | 22.5 |
2 | 211605240 | 5240 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | -2.5 | 5 | 5 | 15 |
2 | 211605242 | 5242 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
1 | 211406242 | 6242 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 |
1 | 211406285 | 6285 | 2 | 1 | - | 5 | 5 | -20 | -5 | - | - | - | - | -15 |
1 | 211606301 | 6301 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | -2.5 | 5 | 5 | 17.5 |
1 | 211606302 | 6302 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | 0 | 10 | 0 | 17.5 |
1 | 211606303 | 6303 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | - | 5 | 5 | 17.5 |
1 | 211606305 | 6305 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
1 | 211606306 | 6306 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606308 | 6308 | 2 | 0 | 1 | 5 | 0 | 0 | -5 | - | - | - | - | 0 |
1 | 211606310 | 6310 | 2 | 0 | 0 | 5 | 5 | 0 | -5 | 0 | 0 | 0 | 0 | 5 |
1 | 211606313 | 6313 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 10 | 5 | 25 |
1 | 211606317 | 6317 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 |
1 | 211606318 | 6318 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606319 | 6319 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606320 | 6320 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 10 | 0 | 20 |
1 | 211606321 | 6321 | 1 | 0 | 1 | 5 | 0 | 0 | 0 | - | - | - | - | 5 |
1 | 211606324 | 6324 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
1 | 211606325 | 6325 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606328 | 6328 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606329 | 6329 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | -2.5 | 0 | 10 | 15 |
1 | 211606330 | 6330 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | -2.5 | 10 | 10 | 22.5 |
1 | 211606331 | 6331 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
2 | 211506332 | 6332 | 2 | 1 | - | 5 | 5 | -20 | -5 | - | - | - | - | -15 |
1 | 211606333 | 6333 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606334 | 6334 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
1 | 211606335 | 6335 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | -2.5 | 10 | 5 | 20 |
1 | 211606340 | 6340 | 2 | 0 | 1 | 5 | 0 | 0 | -5 | - | - | - | - | 0 |
1 | 211606344 | 6344 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
1 | 211606348 | 6348 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 5 | 0 | 15 |
2 | 211606349 | 6349 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
2 | 211606350 | 6350 | 1 | 0 | 1 | 5 | 0 | 0 | 0 | - | - | - | - | 5 |
2 | 211606351 | 6351 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 211606352 | 6352 | 1 | 1 | - | 5 | 0 | -20 | 0 | - | - | - | - | -15 |
2 | 211606354 | 6354 | 1 | 1 | - | 5 | 0 | -20 | 0 | - | - | - | - | -15 |
2 | 211606356 | 6356 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | -2.5 | 10 | 10 | 25 |
2 | 211606357 | 6357 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
2 | 211606359 | 6359 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
2 | 211606360 | 6360 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
2 | 211606361 | 6361 | 2 | 0 | 1 | 5 | 5 | 0 | -5 | - | - | - | - | 5 |
2 | 211606364 | 6364 | 1 | 0 | 1 | 5 | 0 | 0 | 0 | - | - | - | - | 5 |
2 | 211606367 | 6367 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
1 | 211506368 | 6368 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
2 | 211606368 | 6368 | 1 | 1 | - | 0 | 0 | -20 | 0 | - | - | - | - | -20 |
2 | 211606369 | 6369 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 10 | 0 | 20 |
2 | 211606370 | 6370 | 2 | 0 | 0 | 5 | 5 | 0 | -5 | 0 | 0 | 0 | 5 | 10 |
2 | 211606372 | 6372 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
2 | 211606373 | 6373 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 0 | 10 |
2 | 211606374 | 6374 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
2 | 211606375 | 6375 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
2 | 211606376 | 6376 | 2 | 0 | 0 | 5 | 5 | 0 | -5 | 0 | 0 | 5 | 5 | 15 |
2 | 211606377 | 6377 | 2 | 0 | 1 | 5 | 5 | 0 | -5 | - | - | - | - | 5 |
2 | 211606379 | 6379 | 1 | 1 | - | 0 | 0 | -20 | 0 | - | - | - | - | -20 |
2 | 211606381 | 6381 | 1 | 0 | 1 | 5 | 0 | 0 | 0 | - | - | - | - | 5 |
2 | 211606382 | 6382 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
2 | 211606383 | 6383 | 1 | 1 | - | 5 | 5 | -20 | 0 | - | - | - | - | -10 |
2 | 211606387 | 6387 | 1 | 0 | 1 | 5 | 5 | 0 | 0 | - | - | - | - | 10 |
2 | 211606388 | 6388 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 0 |
2 | 211606390 | 6390 | 2 | 0 | 0 | 5 | 5 | 0 | -5 | 0 | -2.5 | 0 | 10 | 12.5 |
1 | 211606445 | 6445 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 10 | 20 |
2 | 211606457 | 6457 | 1 | 0 | 1 | 5 | 0 | 0 | 0 | - | - | - | - | 5 |
211617246 | 7246 | 1 | 0 | 0 | 5 | 5 | 0 | 0 | -2.5 | -2.5 | 10 | 10 | 25 |
二、表格含义
标记项:
表格中以下每项内容为标记
合乎规范的提交
:- 1 文件夹命名、java 文件命名符合规范,不需要修改
- 2 文件夹命名、java 命名经过助教手动修改
编译失败
- 0 编译成功
- 1 编译失败
未使用命令行
- 0 使用了命令行参数
- 1 未使用命令行参数
得分项:
表格中以下项目内容为该项得分
两次commit
- 满分5分四次commit
- 满分5分可运行文件
- 程序可运行得0分,不可运行倒扣20分提交规范
-合乎规范的提交
一项为1得0分,为2倒扣5分未空行分开
- 生成的out.txt中,题目与答案若未使用空行分开,扣2.5分有等于
- 生成的out.txt中,题目若有=
符号,扣2.5分实验1
- 是否通过了实验1的测试实验2
- 是否通过了实验2的测试
三、问题与建议
同学们在做作业的时候,请严格按照要求,完成规定项目,不要做自选项目
例如:- 个人目录名称为
PSPXXXX
(有两位同学学号后四位与他人重复,因此使用了完整了学号,这是我们出题者考虑不周) - 提交java代码,java文件命名为
MathExamXXXX.java
- 我看到很多同学有
MathExam_1.java
,这样是不符合规则的,我的测试程序没有那么智能,它不明白这是什么意思。
- 我看到很多同学有
- 明确要求使用命令行参数
- 作业中没有要求说可以使用
Scanner
从标准输入中读取,那就不要用;作业里也没有要求 “在一次运行中,可以给用户多次机会输入”,那就不要为了所谓的 “用户体验” 来添加这个功能。测试程序就是作业程序的用户,作业程序这样做,测试程序的体验很差。
- 作业中没有要求说可以使用
- 明确要求生成的题目中不含“=”符号
- 题目与答案之间空一行分开
- 输出到文件且输出文件名为
out.txt
- 有几位同学输出的文件名为
outXXXX.txt
,这就导致我的测试程序找不到你生成的.txt
文件,尽管里面的四则运算是对的,但我很抱歉,你的程序不能通过测试。
...
- 有几位同学输出的文件名为
不按照要求,随便做自选项目,结果就是程序不能通过测试。
我们在设计API时遵循“契约式编程”的规则。我们在布置作业完成作业与测试作业的时候,也是这样。
作业就好比是一个约定好的API规格,学生负责维护这个API,教师/助教就是这个API的调用者。
我们都不希望在调用“日期”接口的时候,得到一个“当前时间”的返回值对吧:)
- 个人目录名称为
做作业之前,一定要先弄清楚你需要干什么
承上一个观点,大家随意做自选项目,我觉得是因为并没有把作业看清楚。我看到很多同学在博客里写:
一看到题就开始敲代码,早期没有设计好,给后期埋了很多坑
现在大家都知道分析与设计的重要性了,希望大家在接下来的作业里能有所改观:)
- 作业要求应当更加明确。应在与自动测试相关的部分明确限制,不能让学生自定义需求
- 乘除法只能用乘法表
- 最多只能生成30个算式
- ....
这些自定义的需求给自动测试带来了一些问题,同学们对这些标准的设置不一样,最终也很难。
- 可以在翻转课堂上第一次使用 Git 与 Github。
- 可以让大家在课堂上实操Git与Github,并在下课前PR一个小文件,比如自我介绍。这样就可以避免大家在提交作业时不敢动鼠标提交作业、fork错了别人的代码等等。
作业流程可以规定得更详细。
这次作业在布置时我对大家如何完成的设想是这样的:- git clone 作业仓库
- 新建个人文件夹
- 在文件夹中创建 java 文件
- 完成实验1,中途可能有几次commit/push
- 还是这个 java 文件,继续写代码,完成实验2,中途又是几次commit/push
- pull request
从一些同学的java文件我能猜出来,他们可能是 “完成了实验一,之后新建了一个java文件,写实验二”,很可惜这些代码都测不到,如果作业写得详细一些,这些事情应该会少发生了吧。