G4Sui老师的pair project(197)
在做的云里霧里的individual project之后,這次的pair project讓我開(kāi)始找到了一下軟件工程的感覺(jué)!其中原因除了C#能稍微捯飭明白了,還有就是合作的力量。
本次結(jié)對(duì)編程進(jìn)程:
10.10~10.15 G4和Sui老師各自下載elevframework,嘗試讀懂代碼
10.16~10.19 G4和Sui老師經(jīng)過(guò)交流,發(fā)現(xiàn)大家都沒(méi)怎么讀懂框架,但是大限將至,繼續(xù)讀代碼的同時(shí)也要想算法,Sui老師發(fā)了一篇博客
10.20~10.22 G4還苦于代碼讀不懂,而本班唯一的明白人不知去向,G4想等待明白人歸來(lái)問(wèn)之;21號(hào)晚,Sui老師開(kāi)始動(dòng)手寫一個(gè)簡(jiǎn)易版的算法,也就是BUS算法的初級(jí)優(yōu)化版。不管多么簡(jiǎn)易的算法,能夠在著手實(shí)踐就不簡(jiǎn)單!懷著對(duì)Sui老師的敬佩之情,G4搬著凳子到Sui老師宿舍開(kāi)始了真正的結(jié)對(duì)編程。即便是一個(gè)簡(jiǎn)單的算法,在這個(gè)框架中實(shí)現(xiàn)都要理解了整個(gè)框架的工作機(jī)制、解決眾多的邊界問(wèn)題、細(xì)節(jié)問(wèn)題才能成功實(shí)現(xiàn)。在李棟大神的幫助下,最終G4和Sui老師用了一晚上的時(shí)間搞定了這個(gè)算法,雖然只是BUS算法的簡(jiǎn)單改進(jìn),但G4和Sui老師都非常欣喜。不過(guò),既然解決了眾多與算法無(wú)關(guān)的細(xì)節(jié)問(wèn)題,G4和Sui老師想可以進(jìn)一步優(yōu)化這個(gè)算法。G4和Sui老師交流確定下算法后,G4在第二天中午實(shí)現(xiàn)了這個(gè)算法,運(yùn)行結(jié)果不出意料地更加快了。
初步算法:
BUS算法中,StopAtEachFloor方法令電梯在每層都停靠。我們希望電梯在每次運(yùn)行前,判斷一下下一層是否有內(nèi)部與外部請(qǐng)求,如果沒(méi)有就停靠到下下層。
改進(jìn)算法:
在初步算法基礎(chǔ)上,進(jìn)階算法中,電梯在每次運(yùn)行前會(huì)從電梯當(dāng)前樓層開(kāi)始,到當(dāng)前方向頂層依次判斷此層是否有請(qǐng)求,發(fā)現(xiàn)第一個(gè)請(qǐng)求時(shí)設(shè)置此層設(shè)為目的地;若直至當(dāng)前方向頂層也沒(méi)有請(qǐng)求,則改變運(yùn)行方向。同時(shí),改進(jìn)了電梯初始狀態(tài)時(shí)的行為:初步算法中令電梯初始向上運(yùn)行,進(jìn)階算法中當(dāng)外部請(qǐng)求發(fā)出時(shí),判斷請(qǐng)求發(fā)出樓層,根據(jù)電梯當(dāng)前樓層設(shè)置相應(yīng)的電梯運(yùn)行方向。
合作編程心得:
?
《移山之道》中,關(guān)于結(jié)對(duì)編程的優(yōu)點(diǎn)是這樣寫的:
(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)更高的滿足感。
(3)在企業(yè)管理層次上,結(jié)對(duì)能更有效地交流,相互學(xué)習(xí)和傳遞經(jīng)驗(yàn),能更好地處理人員流動(dòng)。因?yàn)橐粋€(gè)人的知識(shí)已被其他人共享。總之,如果運(yùn)用得當(dāng),結(jié)對(duì)編程能得到更高的投入產(chǎn)出比(Return of Investment)。
在這次pair work中我深切地體會(huì)到了前兩點(diǎn):我是個(gè)有點(diǎn)懶的人,如果事情有些基本問(wèn)題搞不清楚我往往感到無(wú)從下手,而當(dāng)別人都開(kāi)始動(dòng)手的時(shí)候又會(huì)有些急躁。但是我對(duì)工作很執(zhí)著,比較完美主義。而partner隋宇豪比較積極主動(dòng),勇于實(shí)踐,但考慮略顯不夠細(xì)致。萬(wàn)事開(kāi)頭難,隋宇豪為我們的結(jié)對(duì)編程創(chuàng)造了一個(gè)良好的開(kāi)始。當(dāng)我們的簡(jiǎn)易算法得以實(shí)現(xiàn)后,我并不滿足于這個(gè)初步的嘗試,于是我們共通進(jìn)行改進(jìn)、優(yōu)化。我認(rèn)為我們兩人配合還是很協(xié)調(diào)的。而結(jié)對(duì)編程的缺點(diǎn),如老師在課上所講,時(shí)間安排不如個(gè)人靈活、雙方需要相互熟悉、磨合的過(guò)程、小型項(xiàng)目不需要太多人等。
程序運(yùn)行結(jié)果:
passenger1:
passenger2:
passenger3:
轉(zhuǎn)載于:https://www.cnblogs.com/metalcrash/archive/2012/10/28/2734810.html
總結(jié)
以上是生活随笔為你收集整理的G4Sui老师的pair project(197)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10怎么设置隐藏用户 Win10如
- 下一篇: poj 1125