java實驗三實驗報告

來源:互聯網
上載者:User

標籤:

一、實驗內容

1. XP基礎

2. XP核心實踐

3. 相關工具

二、實驗過程(本次實驗是在自己電腦上完成,沒有使用實驗樓)

(一)敏捷開發與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%

 

三、實驗收穫和總結

本次實驗難度係數較大,根據實驗指導書,前面的幾項任務都不太複雜,根據指導可以很容易實現,並且讓我們瞭解了如何快速正常化代碼的格式和重構的應用方法。但是對於最後的遊戲設計這個環節而言,我和我的搭檔意識到平時所學的java知識不足以完美地完成本次實驗,因此我借鑒了網上與貪吃蛇遊戲相關的代碼,認真研讀、理解代碼內容,並細心調試代碼,最終完成了本次實驗中難度最大的部分。在研究代碼的過程中,我對git的應用理解加深,熟練掌握這個工具後,對我們日後的編程學習大有裨益。同時,我們需要繼續深入學習有關java開發的知識,不能僅僅滿足於書本,也不能僅僅滿足於看懂代碼,更重要的是親手編寫代碼,在親身實踐中收穫更多。

 

四、結對同學blog地址:http://www.cnblogs.com/disturbia/ 

 

java實驗三實驗報告

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.