[2018福大至誠軟工助教]個人項目1測試結果


[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的測試

三、問題與建議

  1. 同學們在做作業的時候,請嚴格按照要求,完成規定項目,不要做自選項目

    例如:

    • 個人目錄名稱為PSPXXXX(有兩位同學學號后四位與他人重復,因此使用了完整了學號,這是我們出題者考慮不周)
    • 提交java代碼,java文件命名為MathExamXXXX.java
      • 我看到很多同學有 MathExam_1.java,這樣是不符合規則的,我的測試程序沒有那么智能,它不明白這是什么意思。
    • 明確要求使用命令行參數
      • 作業中沒有要求說可以使用 Scanner 從標准輸入中讀取,那就不要用;作業里也沒有要求 “在一次運行中,可以給用戶多次機會輸入”,那就不要為了所謂的 “用戶體驗” 來添加這個功能。測試程序就是作業程序的用戶,作業程序這樣做,測試程序的體驗很差。
    • 明確要求生成的題目中不含“=”符號
    • 題目與答案之間空一行分開
    • 輸出到文件且輸出文件名為out.txt
      • 有幾位同學輸出的文件名為outXXXX.txt,這就導致我的測試程序找不到你生成的.txt文件,盡管里面的四則運算是對的,但我很抱歉,你的程序不能通過測試。
        ...

    不按照要求,隨便做自選項目,結果就是程序不能通過測試。

    我們在設計API時遵循“契約式編程”的規則。我們在布置作業完成作業與測試作業的時候,也是這樣。

    作業就好比是一個約定好的API規格,學生負責維護這個API,教師/助教就是這個API的調用者。

    我們都不希望在調用“日期”接口的時候,得到一個“當前時間”的返回值對吧:)

  2. 做作業之前,一定要先弄清楚你需要干什么

    承上一個觀點,大家隨意做自選項目,我覺得是因為並沒有把作業看清楚。我看到很多同學在博客里寫:

    一看到題就開始敲代碼,早期沒有設計好,給后期埋了很多坑

    現在大家都知道分析與設計的重要性了,希望大家在接下來的作業里能有所改觀:)

  3. 作業要求應當更加明確。應在與自動測試相關的部分明確限制,不能讓學生自定義需求

    • 乘除法只能用乘法表
    • 最多只能生成30個算式
    • ....

    這些自定義的需求給自動測試帶來了一些問題,同學們對這些標准的設置不一樣,最終也很難。

  4. 可以在翻轉課堂上第一次使用 Git 與 Github。

    • 可以讓大家在課堂上實操Git與Github,並在下課前PR一個小文件,比如自我介紹。這樣就可以避免大家在提交作業時不敢動鼠標提交作業、fork錯了別人的代碼等等。
  5. 作業流程可以規定得更詳細。

    這次作業在布置時我對大家如何完成的設想是這樣的:

    • git clone 作業倉庫
    • 新建個人文件夾
    • 在文件夾中創建 java 文件
    • 完成實驗1,中途可能有幾次commit/push
    • 還是這個 java 文件,繼續寫代碼,完成實驗2,中途又是幾次commit/push
    • pull request

    從一些同學的java文件我能猜出來,他們可能是 “完成了實驗一,之后新建了一個java文件,寫實驗二”,很可惜這些代碼都測不到,如果作業寫得詳細一些,這些事情應該會少發生了吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM