天天看點

軟體工程(QLGY2015) 第二次作業點評(随機挑選20組點評)

相關博文目錄:

  • 第一次作業點評
  • 第二次作業點評
  • 第三次作業點評

說明:随機挑選20組點評,大家可以看看blog名字,github項目名字,看看那種是更好的,可以學習,每個小組都會反應出一些問題,希望能取長補短,改進自己的項目,所有貼出來的各種資訊都可以自己做下橫向對比,自(主動)學(别人好的地方)哈

第一組:取款機項目

組員

  • 1121:負責功能代碼編寫

    blog:取款機項目實驗報告

    code:joanyy/ATM

  • 1125:負責單元測試編寫

    blog:結對項目:ATM

    code:tpp531853660/ATM

點評

  • 有簡單的ATM基本功能代碼以及簡單的單元測試
  • ATM基本操作代碼的改進,參考袁穎的點評,
  • 單元測試的改進,參考兩位部落格的點評
  • github使用的改進,參考兩位部落格的點評

第二組:五子棋項目

  • 1175:代碼實作

    blog:結對項目:五子棋遊戲

    code:long0123/test/blob/master/WuZiGame

  • 1184:調試和診斷

    blog:結隊作業實驗報告

    code:Wangjun593x/teamwork/

  • 代碼送出要規範,請單獨為五子棋項目建立github倉庫
  • 請做單元測試,需要對五子棋功能函數的測試
  • 代碼核心功能、難點應該在部落格裡寫出,而不隻是截圖
  • 調試過程做了什麼,怎樣解決問題的?

第三組:五子棋項目

  • 1122:GUI設計以及代碼規範

    blog:Pair Project

    code:ChittyCui/Partner

  • 1140:負責棋子勝負判斷部分

    blog:結對項目:用Java寫的五子棋

    code:Max577769190/test/tree/master/Work_3/Code

  • 兩個人都有代碼貢獻,做了随機落子的"AI"(太簡單了點,AI這樣是很難戰勝人類的吧)
  • 有為項目建立了獨立的倉庫,不過沒送出elipse工程檔案,希望能補上,另外不需要把代碼拷貝到txt檔案裡再送出上去
  • 不知有沒有人有好奇心去點選下項目右上角的

    Fork

    按鈕,然後看看自己的賬戶裡多了什麼呢?

第四組:五子棋項目

  • 1135:五子棋算法,判斷勝利,悔棋,地方遊戲中吃對方的棋、移棋、判斷勝利

    blog:軟體工程——結對項目

    code:JiaDianDuo/java_core/blob/master/FiveChess

  • 1150:主要做五子棋的界面

    code:Yuanjiaying/FiveChess

  • 這組在結對中展現了編碼基本功差異導緻的一些問題,不過他們還是彼此協作完成了任務,有一定的代碼量
  • 不過,一個函數裡寫了太多的邏輯代碼,這不利于閱讀、維護和單元測試,應該要使用小函數去改進
  • 另外得思考下,軟體開發過程中,你總不可避免會出現自己程式設計基本功比隊友好一點,或者差一點,這種情況下要如何更好的協作讓1+1>2呢,可以結合自己的經驗和書上以及課堂上講的理論改進

第五組:學生管理系統

  • 1132:Navigator

    blog:結對項目-學生管理系統

    code:LiangWeiLong/learngit

  • 1138:Driver

    blog:結對項目——學生管理系統

    code:Lendoon/StuManagement

  • 這組基本有做到結對程式設計中的Navigator和Driver的角色切換,其中林棟的完成度應該是更高的
  • 代碼還是有很多需要改進的地方,在他們的部落格點評下有給出建議,希望改進
  • 普遍反應了一個問題,大家都習慣在邏輯代碼裡直接做寫互動代碼,比如指令行的scanner.nextInt()或者GUI版的控件操作代碼等,如果能用兩個class,一個class是處理界面互動相關的,一個class專門寫和界面互動無關的代碼(比如一組函數),這樣的話,可能大家就能夠利用JUni4架構對那些UI無關的函數做單元測試,目前看來還是沒有人能做到真正使用JUnit來輔助開發。希望有人能去好好了解并掌握。

第六組:五子棋項目

  • 1124:寫出選擇性,黑先還是白先;如何去判斷整盤棋的輸赢

    blog:結隊作業五子棋遊戲

    code: loiskris/test/blob/master/Enzit.java

  • 1123:頁面控件的設定;遊戲的開始;一局以後的重新開始

    blog:結對項目

    code: 715lvzhihao/testyou

  • 這組的判斷輸赢可以分離出單獨一個class,這樣就可以把UI代碼和輸赢判斷子產品代碼分離,然後對後者做單元測試,建議改進
  • 1124說她一個符号搞錯了花費了很長時間,這種事在程式設計初期經常出現的,結對程式設計的時候,此時恰好可以利用兩個人的眼睛以及兩個人的大腦對代碼做即時的codereview來找到問題,不知這組解決這個問題實際上是靠個人定位還是有兩人協作
  • 沒有為五子棋項目建立獨立的github倉庫,還是隻是把java檔案送出到那個test倉庫裡去了,
  • 1123雖然為五子棋項目建立了獨立的github倉庫,但是名字沒起好,叫testyou太随意了,eclipse工程檔案也沒送出
  • 結對程式設計或者多人協作程式設計(後面的團隊項目),建議采用Fork-PullRequst方式協作開發,也許需要一個案例介紹

第七組:記事本程式

  • 1126:實作界面的控件,編輯下的自動換行,記事本的關于下的資訊,代碼的調試和測試

    blog:結對項目實驗報告

    code:liuzixuan/notepad

  • 1142:實作檔案欄下的建立、打開、儲存、退出;和編輯的日期和時間界面的控件

    blog:結對作業---簡單的記事本

    code:wang0202zhu/test/blob/master/MyNotepad.java

  • 給自己做個Notepad用挺好的,Notepad也算是出場率最高的簡單軟體了,據說他們在

    學霸

    那咨詢了很多問題最後完成了項目,不知學霸是誰呢
  • 劉同學做的自動換行功能太簡單了點,建議多實作點功能代碼吧,學程式設計的一種方式就是先增加代碼量,寫多了就知道了
  • 李同學實作的建立和打開檔案的

    特性

    是不儲存已編輯的文本,坑你沒商量啊,BUG is Feature..
  • 還是要強調下github應該要為獨立的項目建立獨立的倉庫,李同學可以去問那個學霸

第八組:進階電腦

  • 1154:

    blog:實驗報告進階電腦

    code:lyn2313121/mm

  • 1134:

    code:zhuruichao/Test0/blob/master/Test3(1).txt

  • 這個電腦主要是界面設計,代碼上轉調用Math庫的方法
  • 1154部落格不夠規範,隻貼了代碼和截圖以及最後的小結,他的隊友的部落格相對排版好狠多,建議改進
  • 兩個人的部落格都沒說如何協作和分工的(結對程式設計嘛,當然是兩個人的事。。),兩個人的github上都沒有為項目建立獨立的倉庫,都隻是把代碼貼到txt裡了
  • 說明這組同學還是把github當作一個“網盤”使用了。。建議這組同學重新學習下git以及github,然後寫一篇部落格說下自己的學習,并重新為項目建立github倉庫并送出

第九組:中國象棋:觀棋不語真君子,棋死無悔大丈夫

  • 1160:

    blog:結對實驗

    code:xiaojibibi/test/blob/master/xiangqi.txt

  • 1144:

    blog:中國象棋小遊戲(實驗三)

    code:CaesarLH/text3/blob/master/Chess.txt

  • title起的挺好玩的,然後代碼很長,但注釋很詳細
  • 不過1160部落格的内容和代碼對不上号,有點奇怪,存疑
  • 另外,這兩人送出github也沒學會,隻是把代碼放到txt裡傳到github而已

第十組:五子棋

  • 1141

    blog:結對作業:五子棋

    code:沒有送出到github

  • 1133

  • 代碼應該送出到github
  • find1到find4可以做單元測試的,請用JUnit做單元測試,名字也可以起的更好點
  • 其實總體感覺大家的結對程式設計有做到了基本的分工和協作,不過對

    代碼規範和風格

    Driver和Navigator

    ,溝通等等的訓練不夠到位,也許需要限時、給定挑戰性任務的情況下才能展現掌握了工程方法所帶來的好處?

第十一組:Android電腦App

  • 1164:數字按鈕功能實作,乘法功能實作,除法功能實作,平方功能實作,開方功能實作,正負号功能實作,等号功能實作。

    blog:結對項目-使用電腦的設計和介紹

    code:marry1234/calculator

  • 1167:頁面布局設計,頁面代碼編寫,邏輯設計,加法功能實作,減法功能實作。

    blog:軟體工程結對項目--實用電腦的設計和制作

    code:zhangtiantian1234/Calculator

  • 界面設計、代碼實作、部落格排版都風格良好,實作了相對完整的Android電腦,
  • 這是第一組坐到了

    獨立為項目建立倉庫

    +

    完整送出了Project(不包括bin和obj)

    的github使用者,github歡迎這樣的使用者
  • 如果能把計算邏輯分離出一個類Calculator就更好了,順便對Calculator做單元測試
  • 這組的項目應該繼續疊代改進下去,設計特色功能、釋出Adroid apk,尋找客戶試用,拓展市場......
  • 不過首先還是把子產品分離下,單元測試做下,怎樣?

第十二組:帶禁手的五子棋

  • 14063:

    blog:結對項目之五子棋遊戲

    code:xutiantian/test2

  • 14064:

    blog:結對項目3-五子棋

    code:guoleilei/wuziqi

  • 這組倒是認真學習了下測試的各種概念:白盒測試、黑盒測試、回歸測試。可惜忘記了單元測試是第一個呢。
  • 這組做了五子棋禁手邏輯,看代碼實作,也估計是在各種測試下不斷修訂完成的,很是辛苦。
  • 首先,建議把UI代碼和五子棋邏輯代碼分離,兩個class
  • 但是要是能掌握單元測試的話,那麼那些他們設計的測試用例都用單元測試的代碼寫,則每次修改五子棋的核心邏輯代碼都去運作單元測試,如此,就好了
  • 越是複雜代碼+混亂代碼,越能展現工具和方法在其中的作用,掌握了工具和方法的人就會

    事半功倍

    ,我給她們的部落格點評裡寫了下單元測試從函數到類到項目如何一步步保證整個項目正确性的簡單說明,
  • 是以程式設計還是從小小的函數開始的,設計好函數,以及該函數的單元測試。這就是我認為的程式員新手和入門之間的界限。

第十三組:電腦

  • 14103:主要功能預期構思,與實作方式;整理代碼,整理出實驗報告的大體流程,整理作業送出格式

    blog:電腦

    code:daishimin/test/blob/master/結對項目_jisuanji2.java

  • 14105:鍵盤(Keyboard)手+最後的程式檢驗與校準

    blog:結對項目3-功能增強型帶基本函數計算java電腦

    code:mengmengda123/text/blob/master/結對項目_jisuanji2.java

  • 分工協作不錯,不過其實大家都隻做到了結對程式設計中的分工。但是結對程式設計,特别是坐在一起的結對程式設計,更多要強調的是協作,目标:最好的項目和代碼
  • 可惜他們的代碼送出到github的時候,也是沒做好,這點建議大家都去圍觀下

    劉美思和張甜甜

    那組,找她們學習,照貓畫虎就行,至少能送出完整的項目
  • ps,這組有放結對程式設計的照片哦,😄

第十四組:萬年曆

  • 14015:測試

    blog:結對項目---萬年曆

    code:sunjing2013/Test/blob/master/結對項目

  • 14072:功能實作

    blog:結隊項目

    code:a200583472/test/blob/master/jiangyan/src/shiyan2/Wannianli.java

  • 這組做了一個不一樣的項目,一個萬年曆,總體設計細節還是到位的,
  • 可惜了,github的送出需要重新學習
  • 14015做的測試代碼沒看到送出到github,這個應該送出的,送出後别人才能知道你那裡做對了哪裡沒做對
  • 定時器應該用Java的Timer和TimeTask去用,直接用一個線程去刷當然也可以,不過山塞了點

第十五組:增強型電腦

  • 14004:GUI界面實作

    blog:結對項目-增強型科學電腦

    code:mygithubq/counter

  • 14030:負責各個計算功能的具體實作

    code:bbker/Counter

  • 分析、設計、分工、實作都相當不錯
  • 也有做了單元測試,不過還是不夠,要能把UI代碼和計算代碼分離成兩個類,分别作單元測試,請改進
  • github的送出不錯,這點應該去幫助其他組,幫助他們學會如果正确送出github項目
  • 變量名,要認真起,不要用temp之類的,給每個變量認真起名字,程式員的世界裡,起好名字是每天都要做的事,這是基本功
  • 另外應該準備準備,把電腦做到android上去

第十六組:修改版單機雙人對戰俄羅斯方塊

  • 14029:

    blog:俄羅斯方塊

    code:yuhaifei/test/blob/master/Eluosifangkuai

  • 14085:

    code:liushixian/ELuoSiFangKuai/blob/master/ELSFK.md

點評:

  • 這組主要是把單人俄羅斯方塊遊戲修改成了雙人對戰模式,并添加了音效等功能
  • github應該建立獨立的倉庫,并送出完整的項目工程檔案和代碼
  • 結對做的不錯,不過她們說對Eclipse平台有了一定的認識,但是他們的代碼是Win32的程式,難度不是用VC麼...
  • 應該進一步改成聯機對戰,或者做一個android版的聯機對戰俄羅斯方塊遊戲

第十七組:萬年曆

  • 14022:測試和調試

    blog:結對項目 萬年曆

    code:huangjingyi/wannianli/blob/master/wannianli

  • 14023:功能代碼實作

    blog:實踐作業3 結對項目

    code:QLUYLY4023/Wannianli/tree/master

  • 兩個人結對程式設計貌似小有心得
  • github的送出沒學會
  • 14023的總結裡一句“比如說此次項目電梯排程的算法部分”,和上下文對不上号

第十八組:圖書館管理系統

  • 14041:負責Reader類、Student類、Teacher類、Test類、User類、Book類的查找、編寫和修改

    blog:圖書館管理系統

    code:wangyanlinsun/test/commit/b74b212a8dfecb60af577ba26714cc4f459c3cf2

  • 14061:負責Borrow類、book-main類、bookManagermain類、Borrow-main類的查找、編寫和修改

    blog:實驗三

    code:hushaohui0928/test/blob/master/%E5%AE%9E%E9%AA%8C%E4%B8%89

  • 寫了好幾個Java類,不過部落格的排版和github的送出都要改進
  • 建議先做成android版的圖書館管理系統,去圖書館做個需求調查?

第十九組:猜數字遊戲

  • 14047:

    code:lxl12138/Test/blob/master/%E7%8C%9C%E6%95%B0%E5%AD%97%E5%B0%8F%E6%B8%B8%E6%88%8F.md

  • 14049:

    code:wenlijun/jieduibiancheng/blob/master/%E7%BB%93%E5%AF%B9%E7%BC%96%E7%A8%8B

  • 部落格的圖都沒看到,真是讓人猜的啊;不如更新為猜圖遊戲,設計下關卡?
  • github送出代碼沒過關
  • 問她們:0-1000之間的某個随機數,至少要猜幾次才你能猜中?

第二十組:貪食蛇

  • 14011:

    code:wanghailing/test/blob/master/tanchishe

  • 14068:

    code:wanghailing/test/blob/master/tanchishe,貼了隊友的

  • 還行,簡單的貪食蛇遊戲
  • 蛇撞到自己的檢測最好改進下
  • 應該做下蛇自己會按速度往前跑的功能,否則基本死不了吧。幾年前沒事就玩諾基亞貪食蛇的路過~
  • 孔祥玉的圖檔也沒了,和上一組一樣,chrome下F12看下,天哪:
Not allowed to load local resource: file:///C:/Users/Asus1/AppData/Local/Temp/ksohtml/wps_clip_image-15851.png    
           

怎麼送出的圖檔呢...