天天看點

結對程式設計1

在個人作業1的基礎上采用結對程式設計的方式實作子產品化的思想

Deadline:##

2017-3-15 12:00AM,以部落格發表日期為準。

評分基準:##

  • 按時交 - 有分,檢查的項目包括後文的三個方面
    • 題目要求
    • 代碼送出
    • 博文規範
  • 晚交 - 0分
  • 遲交兩周以上 - 倒扣本次作業分數
  • 抄襲 - 倒扣本次作業分數

題目描述:##

不知道大家是否嘗試過這樣一種開發模式:你有一個夥伴,你們坐在一起,并肩作戰,面對着同一台顯示器,使用着同一鍵盤,同一個滑鼠,你們一起思考,一起分析,一起程式設計?這次,就讓我們來體驗一下結對程式設計的魅力:

http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html

我們在個人作業1中,用各種語言實作了一個指令行的四則運算小程式。進一步,本次要求把這個程式做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手機上的),成為一個有基本功能、一定價值的程式。在下面的功能需求中實作兩個:

  1. 記錄使用者的對錯總數,程式退出再啟動的時候,能把以前的對錯數量儲存并在此基礎上增量計算。
  2. 有計時功能,能顯示使用者開始答題後的消耗時間。
  3. 界面支援中文簡體/中文繁體/英語,使用者可以選擇一種;

在軟體開發中,我們需要大量使用工具來輔助設計,每個環節大家都要善于學習和使用工具。設計的時候,請使用思維導圖設計你的子產品之間的關系,參考這位同學的思維導圖:

http://www.cnblogs.com/hts-technology/p/6490667.html

題目要求:##

  1. 一個小組中的兩個同學選取比較優秀的 作業1 (兩個人的都獨立完成了), 把它作為本次作業的基礎,然後再修改。
  2. 結對程式設計實作上述功能,同樣的,在程式正式開發之前,請先預估下PSP每個環節的消耗時間,并在過程中統計實際耗時,最後送出PSP表格。依然注意,這個主要是給你們自己看的,不必造假資料。
  3. 在兩人合作的過程中, 請看下面的内容

    a. 滿足代碼風格規範和代碼設計規範(參考書第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

    - 請重視這點,在開發時兩個人要有口頭上的溝通:“好的,我們一起在開發中遵守一起認可的編碼規範”

    - 請把你們約定的編碼規範文檔也送出到git

    b. 給人提意見的方式——送一個漢堡包http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

    c. 了解領航員和駕駛員兩種角色關系,并在結對程式設計中兩個人輪流做對方的角色。兩人都必須參與本次作業的編碼工作,并在git送出日志上展現這點。

代碼送出:##

要求必須增量式開發-送出到coding.net位址,coding上要能看到多次commit的記錄,同時必須有兩個人各自的commit記錄。

博文規範##

  1. 送出的部落格(兩個同學都要寫)必須完整包含下面内容:

    a. 需求分析:針對選擇的2-3個新開發功能做分析。

    b. 程式設計:針對選擇的2-3個新開發功能做設計,使用思維導圖。

    c. 代碼展示:展示每個功能的核心代碼。

    d. 程式運作:程式運作及每個功能的使用截圖。

    e. 小結感受:結對程式設計真的能夠帶來1+1>2的效果嗎?通過這次結對程式設計,請談談你的感受和體會。

  2. 在随筆開頭,備注兩個同學的學号。
  3. 提供項目開發的coding.net 位址。
  4. 描述結對的過程,提供非擺拍的兩人在讨論、細化和程式設計時的結對照片。
  5. 提供此次結對作業的PSP。

參考連結:##

  • 子產品化,單元測試,回歸測試,TDD: http://www.cnblogs.com/xinz/p/4421170.html
  • 在部落格中插入代碼: http://www.cnblogs.com/schaepher/p/6503126.html
上一篇: 起名真麻煩
下一篇: 黃金點遊戲