XP基礎git
XP核心實踐程序員
相關工具編程
1.沒有Linux基礎的同窗建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程安全
2.完成實驗、撰寫實驗報告,實驗報告以博客方式發表在博客園,注意實驗報告重點是運行結果,遇到的問題(工具查找,安裝,使用,程序的編輯,調試,運行等)、解決辦法(空洞的方法如「查網絡」、「問同窗」、「看書」等一概得0分)以及分析(從中能夠獲得什麼啓示,有什麼收穫,教訓等)。報告能夠參考範飛龍老師的指導網絡
3.嚴禁抄襲,有該行爲者實驗成績歸零,並附加其餘懲罰措施。app
咱們關注其中的編碼標準,結對編程,代碼集體全部,測試,重構等實踐。編輯器
Java中的通常的命名規則有:工具
要體現各自的含義性能
包、類、變量用名詞單元測試
方法名用動賓
包名所有小寫,如:io,awt
類名第一個字母要大寫,如:HelloWorldApp
變量名第一個字母要小寫,如:userName
方法名第一個字母要小寫:setName
public class CodeStandard { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println("buffer = " + buffer.toString()); if(buffer.capacity()<20) buffer.append("1234567"); for(int i=0; i<buffer.length();i++) System.out.println(buffer.charAt(i)); } }
代碼標準化,使用了IDEA的Code->Reformate Code功能:
結對編程是XP中的重要實踐。在結對編程模式下,一對程序員肩並肩、平等地、互補地進行開發工做。他們並排坐在一臺電腦前,面對同一個顯示器,使用同一個鍵盤、同一個鼠標一塊兒工做。他們一塊兒分析,一塊兒設計,一塊兒寫測試用例,一塊兒編碼,一塊兒作單元測試,一塊兒作集成測試,一塊兒寫文檔等。
具體實驗內容:在碼雲上把本身的學習搭檔加入本身的項目中,確認搭檔的項目加入本身後,下載搭檔實驗二的Complex代碼,加入很多於三個JUnit單元測試用例,測試成功後git add .; git commit -m "本身學號 添加內容";git push;
提交搭檔項目git log的截圖,包含上面git commit的信息,並加上本身的學號水印信息。
XP的集體全部制意味着每一個人都對全部的代碼負責;這一點,反過來又意味着每一個人均可以更改代碼的任意部分。結對編程對這一實踐貢獻良多:藉由在不一樣的結對中工做,全部的程序員都能看到徹底的代碼。集體全部制的一個主要優點是提高了開發程序的速度,由於一旦代碼中出現錯誤,任何程序員都能修正它。
這意味着代碼要放到一個你們都能方便獲取的地方,咱們叫代碼倉庫。這引出另一個話題叫版本控制(Version Control)。
重構的概念:
重構(Refactor),就是在不改變軟件外部行爲的基礎上,改變軟件內部的結構,使其更加易於閱讀、易於維護和易於變動。
重構中一個很是關鍵的前提就是「不改變軟件外部行爲」,它保證了咱們在重構原有系統的同時,不會爲原系統帶來新的BUG,以確保重構的安全。如何保證不改變軟件外部行爲?重構後的代碼要能經過單元測試。
與搭檔以結對的方式完成Java密碼學相關內容的學習,結合重構,git,代碼標準。下圖爲成果截圖:
重構的好處:
增長新功能;
原有功能有BUG;
改善原有程序的結構;
優化原有系統的性能 。
一個完整的重構流程包括:
從版本控制系統代碼庫中Check out code
讀懂代碼(包括測試代碼)
發現bad smell
Refactoring
運行全部的Unit Tests
往代碼庫中Check in code
1.以結對編程的方式編寫一個軟件,Blog中要給出結對同窗的Blog網址,能夠拍照展示結對編程狀況,能夠參考一下其餘學校的做業
2.記錄TDD和重構的過程,測試代碼不要少於業務代碼,Eclipse中refactor菜單下的重構技能不要少於5個
3.團隊代碼要使用git在實驗樓中託管,要使用結對同窗中的一個同窗的帳號託管。
4.程序要有GUI界面,參考用戶界面和用戶體驗
5.程序功能從豌豆莢遊戲中選擇一款用Java實現,注意:團隊之間項目不能有重複,課表明協調一下。
6.實驗報告中統計本身的PSP(Personal Software Process)時間
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 20min | 7.6% |
設計 | 60min | 23.0% |
代碼實現 | 120min | 41.2% |
測試 | 40min | 15.4% |
分析總結 | 60min | 23.0% |