结对编程----五子棋游戏
需求分析:
五子棋定義:
? ? ?《五子棋》是一款簡單的五子棋小游戲,界面十分干凈,而且具有多人作戰以及戰果記錄等功能。五子棋的玩法把自己的棋子在橫、豎、斜任意一個方向上連續排滿5個就算贏。
五子棋:
功能:
- ? 棋盤,輸贏判斷算法。
- ? 能實現簡單的人機對戰。
?
結對編程概述:
定義:
? ? ? 結對編程技術是指兩位程序員坐在同一工作臺前開發軟件。與兩位程序員各自獨立工作相比,結對編程能編寫出質量更高的代碼。
概述:
? ? ? 結對編程技術是一個非常簡單和直觀的概念,能達到事半功倍的工作效果。但是,人與人之間的合作不是一件簡單的事情——尤其當人們都早已習慣了獨自工作的時候。實施結對編程技術將給軟件項目的開發工作帶來好處,只是這些好處必須經過縝密的思考和計劃才能真正體現出來。而另一方面,兩個有經驗的人可能會發現配對編程里沒有什么技能的轉移,但是讓他們在不同的抽象層次解決同一個問題會讓他們更快地找到解決方案,而且錯誤更少。
兩個程序員具有相同的缺點和盲點的可能性很小,所以當我們采用結對編程的時候會獲得一個強大的解決方案。而這個解決方案恰恰是其它軟件工程方法學中所沒有的。 在我們平時的編程當中,如果遇到一個非常難解決的問題(困難到對該項目產生厭煩的態度),那么你勢必會希望錄求幫助,無論是從信息量龐大的網上,還是從身邊的技術大師那里,你都會努力去解決(前提是你有對計算機知識的熱愛)。這個時候不妨采用結對編程試一下,其它的不說,可能感覺就不同。 為什么要結對編程?? ? 每人在各自獨立設計、實現軟件的過程中不免要犯這樣那樣的錯誤。在結對編程中,因為有隨時的復審和交流,程序各方面的質量取決于一對程序員中各方面水平較高的那一位。這樣,程序中的錯誤就會少得多,程序的初始質量會高很多,這樣會省下很多以后修改、測試的時間。具體地說,結對編程有如下的好處:
? ? ? ? ? ? ? (1)在開發層次,結對編程能提供更好的設計質量和代碼質量,兩人合作能有更強的解決問題的能力。
? ? ? ? ? ? ? (2)對開發人員自身來說,結對工作能帶來更多的信心,高質量的產出能帶來更高的滿足感。
? ? ? ? ? ? ? (3)在心理上,? 當有另一個人在你身邊和你緊密配合, 做同樣一件事情的時候,? 你不好意思開小差, 也不好意思糊弄。
? ? ? ? ? ? ? (4)在企業管理層次上,結對能更有效地交流,相互學習和傳遞經驗,能更好地處理人員流動。因為一個人的知識已經被其他人共享。
? ? ? ? ? ? ? 總之,如果運用得當,結對編程能得到更高的投入產出比(Return of Investment)。
結對編程的角色分配:
? ? ?結對編程中有兩個角色:
? ? ? ? ? (a)駕駛員(Driver)是控制鍵盤輸入的人。
? ? ? ? ? (b)領航員(Navigator)起到領航、提醒的作用。
這兩個角色是可以互換的。和現實生活中的例子類似,一個人負責具體的執行(駕駛,用鍵盤編輯程序等),另一人負責導航、檢查、掩護等。
正式編寫:
代碼編寫規范:
1. 類名首字母應該大寫。屬性(成員變量)、方法、對象變量以及所有標識符(如形式參
? ? 數、實際參數、局部變量)的首字母應小寫,其中包含的所有單詞都應緊靠在一起,而
? ?且大寫中間單詞的首字母。
? ? ? ?例如:類名:HomeWorkClass ?屬性或方法名:homeWorkClass
2. Java 包(Package)屬于一種特殊情況,它們全都是小寫字母,即便中間的單詞亦是如
? ? 此。對于全局包,將你的 Internet 域名反轉并接上包名,
? ? ? ?例如:cn.qilu.homework
3. 接口(Interface):采用完整的英文描述符說明接口封裝,所有單詞的第一個字母大
? ? 寫。習慣上,名字后面加上后綴 able, ible 或者 er。
? ? ? ?例如:Contactable,Prompter。
4. 組件(Component)使用完整的英文描述來說明組件的用途,末端應接上組件類型,并且應以駝峰法命名。
? ? ? ?例如:okButton,customerList,fileMenu。
5. 類中常用方法的命名:
? ? ? ?(1)類的獲取方法(一般具有返回值)一般要求被方法名使用被訪問字段名,前面加上
? ? ? ? ? ?前綴get,如getFirstName(), getLastName()。
? ? ? ?(2) ?類的布爾型的判斷方法一般要求方法名使用單詞 is 做前綴,如isPersistent(),
? ? ? ? ? ? isString()。或者使用具有邏輯意義的單詞,例如equal 或equals
? ? ? ?(3)類的設置方法(一般返回類型為void):被訪問字段名的前面加上前綴 set,如
? ? ? ? ? setFirstName(),setLastName()。
? ? ? ?(4)類的普通方法一般采用完整的英文描述說明成員方法功能,第一個單詞盡可能采用
? ? ? ? ? 一個生動的動詞,第一個字母小寫,如 openFile(), addAccount()。
6. ?靜態常量字段(static final)一般全部采用大寫字母,單詞之間用下劃線分隔
? ? ? ?例如: HOME_WORK
駕駛員和領航員的角色互換過程:
? ? 1. 棋盤界面設計:?
? ? ?領航員: 周曉紅
? ? ?駕駛員: 張琦霞
? ? 2 輸贏判斷規則算法:
? ? ?領航員: 張琦霞
? ? ?駕駛員: 周曉紅
? ? ?3 輸贏提示彈窗:
? ? ?領航員 :周曉紅
? ? ?駕駛員: 張琦霞
?
?
心得體會:
結對編程確實有很多優點
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/zxhong/p/4818105.html
總結
以上是生活随笔為你收集整理的结对编程----五子棋游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenSim教程四——在人体肌骨模型中
- 下一篇: 亚马逊的选品规则——新手必看