日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

结对编程----五子棋游戏

發(fā)布時(shí)間:2024/3/26 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结对编程----五子棋游戏 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

需求分析:

五子棋定義:

? ? ?《五子棋》是一款簡(jiǎn)單的五子棋小游戲,界面十分干凈,而且具有多人作戰(zhàn)以及戰(zhàn)果記錄等功能。五子棋的玩法把自己的棋子在橫、豎、斜任意一個(gè)方向上連續(xù)排滿(mǎn)5個(gè)就算贏。

五子棋:

功能:

  • ? 棋盤(pán),輸贏判斷算法。
  • ? 能實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)戰(zhàn)。

?

結(jié)對(duì)編程概述:

定義:

? ? ? 結(jié)對(duì)編程技術(shù)是指兩位程序員坐在同一工作臺(tái)前開(kāi)發(fā)軟件。與兩位程序員各自獨(dú)立工作相比,結(jié)對(duì)編程能編寫(xiě)出質(zhì)量更高的代碼。

概述:

? ? ? 結(jié)對(duì)編程技術(shù)是一個(gè)非常簡(jiǎn)單和直觀的概念,能達(dá)到事半功倍的工作效果。但是,人與人之間的合作不是一件簡(jiǎn)單的事情——尤其當(dāng)人們都早已習(xí)慣了獨(dú)自工作的時(shí)候。實(shí)施結(jié)對(duì)編程技術(shù)將給軟件項(xiàng)目的開(kāi)發(fā)工作帶來(lái)好處,只是這些好處必須經(jīng)過(guò)縝密的思考和計(jì)劃才能真正體現(xiàn)出來(lái)。而另一方面,兩個(gè)有經(jīng)驗(yàn)的人可能會(huì)發(fā)現(xiàn)配對(duì)編程里沒(méi)有什么技能的轉(zhuǎn)移,但是讓他們?cè)诓煌某橄髮哟谓鉀Q同一個(gè)問(wèn)題會(huì)讓他們更快地找到解決方案,而且錯(cuò)誤更少。

兩個(gè)程序員具有相同的缺點(diǎn)和盲點(diǎn)的可能性很小,所以當(dāng)我們采用結(jié)對(duì)編程的時(shí)候會(huì)獲得一個(gè)強(qiáng)大的解決方案。而這個(gè)解決方案恰恰是其它軟件工程方法學(xué)中所沒(méi)有的。 在我們平時(shí)的編程當(dāng)中,如果遇到一個(gè)非常難解決的問(wèn)題(困難到對(duì)該項(xiàng)目產(chǎn)生厭煩的態(tài)度),那么你勢(shì)必會(huì)希望錄求幫助,無(wú)論是從信息量龐大的網(wǎng)上,還是從身邊的技術(shù)大師那里,你都會(huì)努力去解決(前提是你有對(duì)計(jì)算機(jī)知識(shí)的熱愛(ài))。這個(gè)時(shí)候不妨采用結(jié)對(duì)編程試一下,其它的不說(shuō),可能感覺(jué)就不同。 為什么要結(jié)對(duì)編程?

? ? 每人在各自獨(dú)立設(shè)計(jì)、實(shí)現(xiàn)軟件的過(guò)程中不免要犯這樣那樣的錯(cuò)誤。在結(jié)對(duì)編程中,因?yàn)橛须S時(shí)的復(fù)審和交流,程序各方面的質(zhì)量取決于一對(duì)程序員中各方面水平較高的那一位。這樣,程序中的錯(cuò)誤就會(huì)少得多,程序的初始質(zhì)量會(huì)高很多,這樣會(huì)省下很多以后修改、測(cè)試的時(shí)間。具體地說(shuō),結(jié)對(duì)編程有如下的好處:

? ? ? ? ? ? ? (1)在開(kāi)發(fā)層次,結(jié)對(duì)編程能提供更好的設(shè)計(jì)質(zhì)量和代碼質(zhì)量,兩人合作能有更強(qiáng)的解決問(wèn)題的能力。

? ? ? ? ? ? ? (2)對(duì)開(kāi)發(fā)人員自身來(lái)說(shuō),結(jié)對(duì)工作能帶來(lái)更多的信心,高質(zhì)量的產(chǎn)出能帶來(lái)更高的滿(mǎn)足感。

? ? ? ? ? ? ? (3)在心理上,? 當(dāng)有另一個(gè)人在你身邊和你緊密配合, 做同樣一件事情的時(shí)候,? 你不好意思開(kāi)小差, 也不好意思糊弄。

? ? ? ? ? ? ? (4)在企業(yè)管理層次上,結(jié)對(duì)能更有效地交流,相互學(xué)習(xí)和傳遞經(jīng)驗(yàn),能更好地處理人員流動(dòng)。因?yàn)橐粋€(gè)人的知識(shí)已經(jīng)被其他人共享。

? ? ? ? ? ? ? 總之,如果運(yùn)用得當(dāng),結(jié)對(duì)編程能得到更高的投入產(chǎn)出比(Return of Investment)。

結(jié)對(duì)編程的角色分配:

? ? ?結(jié)對(duì)編程中有兩個(gè)角色:

? ? ? ? ? (a)駕駛員(Driver)是控制鍵盤(pán)輸入的人。

? ? ? ? ? (b)領(lǐng)航員(Navigator)起到領(lǐng)航、提醒的作用。

這兩個(gè)角色是可以互換的。和現(xiàn)實(shí)生活中的例子類(lèi)似,一個(gè)人負(fù)責(zé)具體的執(zhí)行(駕駛,用鍵盤(pán)編輯程序等),另一人負(fù)責(zé)導(dǎo)航、檢查、掩護(hù)等。

正式編寫(xiě):

代碼編寫(xiě)規(guī)范:

1. 類(lèi)名首字母應(yīng)該大寫(xiě)。屬性(成員變量)、方法、對(duì)象變量以及所有標(biāo)識(shí)符(如形式參
? ? 數(shù)、實(shí)際參數(shù)、局部變量)的首字母應(yīng)小寫(xiě),其中包含的所有單詞都應(yīng)緊靠在一起,而
? ?且大寫(xiě)中間單詞的首字母。
? ? ? ?例如:類(lèi)名:HomeWorkClass ?屬性或方法名:homeWorkClass

2. Java 包(Package)屬于一種特殊情況,它們?nèi)际切?xiě)字母,即便中間的單詞亦是如
? ? 此。對(duì)于全局包,將你的 Internet 域名反轉(zhuǎn)并接上包名,
? ? ? ?例如:cn.qilu.homework

3. 接口(Interface):采用完整的英文描述符說(shuō)明接口封裝,所有單詞的第一個(gè)字母大
? ? 寫(xiě)。習(xí)慣上,名字后面加上后綴 able, ible 或者 er。
? ? ? ?例如:Contactable,Prompter。
4. 組件(Component)使用完整的英文描述來(lái)說(shuō)明組件的用途,末端應(yīng)接上組件類(lèi)型,并且應(yīng)以駝峰法命名。
? ? ? ?例如:okButton,customerList,fileMenu。
5. 類(lèi)中常用方法的命名:
? ? ? ?(1)類(lèi)的獲取方法(一般具有返回值)一般要求被方法名使用被訪問(wèn)字段名,前面加上
? ? ? ? ? ?前綴get,如getFirstName(), getLastName()。

? ? ? ?(2) ?類(lèi)的布爾型的判斷方法一般要求方法名使用單詞 is 做前綴,如isPersistent(),
? ? ? ? ? ? isString()。或者使用具有邏輯意義的單詞,例如equal 或equals
? ? ? ?(3)類(lèi)的設(shè)置方法(一般返回類(lèi)型為void):被訪問(wèn)字段名的前面加上前綴 set,如
? ? ? ? ? setFirstName(),setLastName()。
? ? ? ?(4)類(lèi)的普通方法一般采用完整的英文描述說(shuō)明成員方法功能,第一個(gè)單詞盡可能采用
? ? ? ? ? 一個(gè)生動(dòng)的動(dòng)詞,第一個(gè)字母小寫(xiě),如 openFile(), addAccount()。

6. ?靜態(tài)常量字段(static final)一般全部采用大寫(xiě)字母,單詞之間用下劃線分隔

? ? ? ?例如: HOME_WORK

駕駛員和領(lǐng)航員的角色互換過(guò)程:

? ? 1. 棋盤(pán)界面設(shè)計(jì):?

? ? ?領(lǐng)航員: 周曉紅

? ? ?駕駛員: 張琦霞

? ? 2 輸贏判斷規(guī)則算法:

? ? ?領(lǐng)航員: 張琦霞

? ? ?駕駛員: 周曉紅

? ? ?3 輸贏提示彈窗:

? ? ?領(lǐng)航員 :周曉紅

? ? ?駕駛員: 張琦霞

?

?

心得體會(huì):

結(jié)對(duì)編程確實(shí)有很多優(yōu)點(diǎn)

  • 程序員互相幫助,互相教對(duì)方,可以得到能力上的互補(bǔ)。
  • 可以讓編程環(huán)境有效地貫徹Design。
  • 增強(qiáng)代碼和產(chǎn)品質(zhì)量,并有效的減少BUG。
  • 降低學(xué)習(xí)成本。一邊編程,一邊共享知識(shí)和經(jīng)驗(yàn),有效地在實(shí)踐中進(jìn)行學(xué)習(xí)。
  • 在編程中,相互討論,可能更快更有效地解決問(wèn)題。
  • ?

    ?

    ?

    ?

    ?

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/zxhong/p/4818105.html

    總結(jié)

    以上是生活随笔為你收集整理的结对编程----五子棋游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。