1、實驗內容html
1. XP基礎java
2. XP核心實踐git
3. 相關工具編程
2、實驗過程(本次試驗是在本身電腦上完成,沒有使用實驗樓)服務器
(一)敏捷開發與XP工具
1.XP是以開發符合客戶須要的軟件爲目標而產生的一種方法論性能
2.XP是一種以實踐爲基礎的軟件工程過程和思想單元測試
3.XP認爲代碼質量的重要程度超出人們通常所認爲的程度學習
4.XP特別適合於小型的有責任心的、自覺自勵的團隊開發需求不肯定或者迅速變化的軟件測試
一項實踐在XP環境中成功使用的依據經過XP的法則呈現,包括:快速反饋、假設簡單性、遞增更改、提倡更改、優質工做。
XP軟件開發的基石是XP的活動,包括:編碼、測試、傾聽、設計。
項目成員用戶成功執行XP活動的技術經過XP實踐來呈現,包括編程、團隊、過程相關的12條實踐
(二)編碼標準
編程標準包含:具備說明性的名字、清晰的表達式、直截了當的控制流、可讀的代碼和註釋,以及在追求這些內容時一致地使用某些規則和慣用法的重要性。
在Eclipse中使用快捷鍵Ctrl+Shift+F能夠按Eclipse規定的規範縮進。
標準格式如圖:
Java中的通常的命名規則有:
1.要體現各自的含義
2.包、類、變量用名詞
3.方法名用動賓
4.包名所有小寫,如:io,awt
5.類名第一個字母要大寫,如:HelloWorldApp
6.變量名第一個字母要小寫,如:userName
7.方法名第一個字母要小寫:setName
……
(三)結對編程
結對編程是XP中的重要實踐。
結對編程中有兩個角色:
駕駛員:寫設計文檔,進行編碼和單元測試等XP開發流程。
領航員:審閱駕駛員的文檔、駕駛員對編碼等開發流程的執行;考慮單元測試的覆蓋率;思考是否須要和如何重構;幫助駕駛員解決具體的技術問題。
重點注意:有效地合做要作到對事不對人。
(四)版本控制
能夠先用git status查看代碼狀態,顯示有未跟蹤的代碼,用git add <file>...添加,咱們使用git add HelloWorld.*把要提交的文件的信息添加到索引庫中。當咱們使用git commit時,git將依據索引庫中的內容來進行文件的提交。這只是在本地操做,關閉實驗環境會刪除代碼,若是想把代碼保存到遠程託管服務器中,須要使用git push,實驗完成前使用git push至關於完成保存操做。
(五)重構
重構(Refactor)就是在不改變軟件外部行爲的基礎上,改變軟件內部的結構,使其更加易於閱讀、易於維護和易於變動 。
1.重構的第一項功能就是Rename,能夠給類、包、方法、變量更名字。
修改方法:用鼠標單擊要改的名字,選擇Eclipse中菜單中的Refactor->Rename...
2.封裝類
選中某個須要封裝的類,如name, age, id類,而後Eclipse中菜單中的Refactor->Encapsulate Field
每次打印學生信息都這麼寫代碼違反了DRY原則,形成代碼重複,正常的重構可使用Eclipse中的Extract Method
修改軟件的目的:
1.增長新功能;
2.原有功能有BUG;
3.改善原有程序的結構;
4.優化原有系統的性能 。
一個完整的重構流程包括:
1.從版本控制系統代碼庫中Check out code
2.讀懂代碼(包括測試代碼)
3.發現bad smell
4.Refactoring
5.運行全部的Unit Tests
6.往代碼庫中Check in code
本次實驗咱們小組作的題目是設計貪吃蛇遊戲。
產品代碼截圖以下:
僞代碼:
1.設計一個行爲30,列爲50,由格子構成的院子
2.定義一條蛇和一個蛋,蛇吃掉一個蛋後則在院內任意地方隨機產生一個蛋。
3.蛇吃掉一個蛋則加5分
4.若碰到蛋則蛇的身體變長一格,遊戲繼續,啓動遊戲後若蛇碰到邊界或是本身的身體則遊戲結束。
遊戲運行結果截圖以下圖:
PSP時間統計
步驟 |
耗時 |
百分比 |
需求分析 |
25min |
8.2% |
設計 |
80min |
26.2% |
代碼實現 |
120min |
39.3% |
測試 |
55min |
18% |
分析總結 |
25min |
8.2% |
3、實驗收穫和總結
本次實驗難度係數較大,根據實驗指導書,前面的幾項任務都不太複雜,根據指導能夠很容易實現,而且讓咱們瞭解瞭如何快速規範化代碼的格式和重構的應用方法。可是對於最後的遊戲設計這個環節而言,我和個人搭檔意識到平時所學的java知識不足以完美地完成本次實驗,所以我借鑑了網上與貪吃蛇遊戲相關的代碼,認真研讀、理解代碼內容,並細心調試代碼,最終完成了本次實驗中難度最大的部分。在研究代碼的過程當中,我對git的應用理解加深,熟練掌握這個工具後,對咱們往後的編程學習大有裨益。同時,咱們須要繼續深刻學習有關java開發的知識,不能僅僅知足於書本,也不能僅僅知足於看懂代碼,更重要的是親手編寫代碼,在親身實踐中收穫更多。
4、結對同窗blog地址:http://www.cnblogs.com/disturbia/