java實驗三實驗報告

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. 以結對編程的方式編寫一個軟件,Blog中要給出結對同窗的Blog網址,能夠拍照展示結對編程狀況,能夠參考一下其餘學校的做業

2.記錄TDD和重構的過程,測試代碼不要少於業務代碼,Eclipse中refactor菜單下的重構技能不要少於5個

3.團隊代碼要使用git在實驗樓中託管,要使用結對同窗中的一個同窗的帳號託管。

4. 程序要有GUI界面,參考用戶界面和用戶體驗

5.程序功能從豌豆莢遊戲中選擇一款用Java實現,注意:團隊之間項目不能有重複,課表明協調一下。

6.實驗報告中統計本身的PSP(Personal Software Process)時間

本次實驗咱們小組作的題目是設計貪吃蛇遊戲。

產品代碼截圖以下:

 

 

 

 

 

 

 

 

 

 

 

 

 

僞代碼:

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/ 

相關文章
相關標籤/搜索