[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文件,寫實驗二”,很可惜這些代碼都測不到,如果作業寫得詳細一些,這些事情應該會少發生了吧。