青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

生命中的一天

版權(quán)聲明:轉(zhuǎn)載時請以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
http://spelldev.blogbus.com/logs/11066046.html

生命中的一天

原作:Noel Llopis

翻譯:King
200625

 轉(zhuǎn)載請注明作者和出處,如有商業(yè)用途請聯(lián)系作者kingcrimson at tom.com本文第一次發(fā)表在《游戲開發(fā)者》雜志的2005年就業(yè)指南上。 

High Moon Studios 是游戲行業(yè)中一個不平凡的公司。我們的全部開發(fā)過程都使用了敏捷開發(fā)方法。特別是我的團(tuán)隊,同時使用了Scrum(一種敏捷管理方式)和極限編程(一種敏捷開發(fā)方式)。這意味著我們要配對編程,測試驅(qū)動開發(fā),以及一切有爭議的實踐。我期望在未來幾年內(nèi),這些實踐將會變的更加尋常。

我領(lǐng)導(dǎo)著研發(fā)組(R&D),我們的首要職責(zé)是為不同項目的團(tuán)隊提供技術(shù)支持。如今,這意味著按他們的步伐找出大量中間件,再選擇符合要求的去使用。但這也需要我們?nèi)ジ梢恍┛嗷睿瑸橐婧凸ぞ呔帉懘罅看a。

記住這一點,然后隨我來經(jīng)歷一個典型的工作日。

8:10 AM

我像往常一樣,騎車去上班。盡管我是只早起的鳥兒,但我們的一個程序員Jim還是比我要早到幾分鐘,并且已經(jīng)坐在辦公桌前了。

我快速的接收了一下電子郵件。同時我注意到PCLint在昨晚檢查我們代碼庫時捕獲了幾個小的warning。我很快解決了它們,并把代碼簽入。

8:20 AM

今天是周二,我們兩周的迭代會在周五結(jié)束。一個迭代由一段固定時間組成(我們團(tuán)隊通常是兩周)。在這期間,團(tuán)隊要根據(jù)客戶描述的需求交付一組可使用的功能。客戶(在這里是指公司內(nèi)部其他團(tuán)隊)提出需求,并賦予它們優(yōu)先權(quán)。之后我的團(tuán)隊會把這些需求拆分成若干任務(wù),并估計多長時間能夠完成它們(任務(wù)會在18小時之間變化)。

我和Jim來到了“戰(zhàn)爭室”(這間屋子的墻上貼著所有對應(yīng)用戶需求的任務(wù)卡片),并選擇了一個任務(wù)“混合ragdoll和動畫”。這個任務(wù)來自于用戶需求“把一個剛體扔到角色身上,能看到撞擊反應(yīng)”。這個任務(wù)早先估計能3小時完成,但是現(xiàn)在我們認(rèn)識到ragdoll系統(tǒng)比我們預(yù)想的有一點復(fù)雜。于是我們重新估計了任務(wù)時間,定為4小時。

8:23 AM

研發(fā)組的實驗室中,除了我們自己的工作區(qū)域外,還專門設(shè)置了配對編程的位置。每個位置擁有兩臺顯示器、兩個鍵盤、兩個鼠標(biāo)、兩把椅子,以及容納兩個人的空間。我們所有產(chǎn)品的代碼都是由配對編程的程序員完成的。我和Jim隨便挑了個位置,開始工作。

自從采用測試驅(qū)動方法進(jìn)行開發(fā)后,我們首先會為要實現(xiàn)的內(nèi)容編寫一個簡單的測試單元,之后再寫完整的代碼讓測試通過。在這個任務(wù)中,我們?yōu)榈谝粋€測試單元編寫了一個沒有輸入輸出的混合對象(Blender Object)。之后我們編寫了混合類(Blender Class),使測試通過。這只是小步,但是方向是正確的。編寫測試單元、測試、重構(gòu),這整個環(huán)節(jié)只需510分鐘,并且我們反復(fù)的去重復(fù)這個環(huán)節(jié)。

8:39 AM

我們已經(jīng)實現(xiàn)了小部分功能,并且所有的代碼都構(gòu)建并測試完畢,于是我們把它簽入到代碼管理(source control)中。這種方式被稱為持續(xù)迭代,要求程序員在代碼管理的最新版本工程中工作,并在一天里多次簽入自己的修改。

8:50 AM

其他的團(tuán)隊成員陸續(xù)加入工作,占據(jù)了配對編程的各個位置。接下來我們互相做了簡短的溝通,明確我們各自的工作。

點擊查看原始尺寸
玩命工作……

9:37 AM

我無意中聽到JoelGary在討論他們?nèi)绾螠y試一些需要更新物理模擬的東西。我正好在幾天前做了這些,于是我加入他們的討論。我發(fā)現(xiàn)他們要做的一些工作是我之前已經(jīng)做過的,于是我?guī)退麄冋业轿覍懙臇|西,他們改動一下就可以使用。

10:05 AM

一切都進(jìn)展的很順利。我們在早上就已經(jīng)簽入了四次。當(dāng)一個二人組工作正常時,他們在一天中會簽入20次或更多。照這個速度,我們比預(yù)先估計的四小時要提前完成。

10:14 AM

每天1015分是我們的Scrum會議時間。我們?nèi)w聚集到戰(zhàn)爭室,準(zhǔn)備開會。Scrum會議非常短,并且全體團(tuán)隊成員只需站著開會(成員8人,再加上制作人Brian)。我們在屋里快速的走來走去,并開始討論目前的工作,讓所有人都跟上進(jìn)度。

10:23 AM

會議中,出現(xiàn)了一個如何去讀取物理資源的問題。我們立即來到了配對編程區(qū)域,和與之相關(guān)的所有人展開討論。我們在白板上畫了一些簡潔的UML圖示,思考數(shù)據(jù)是如何傳送的。在十分鐘后,我們達(dá)成了一致意見,并返回各自區(qū)域繼續(xù)工作。

11:15 AM

我們的混合(Blending)工作的很正常。所有的單元測試都通過了,盡管我們還沒有把它用demo實現(xiàn)。因為還有一張任務(wù)卡需要一起來完成。我們馬上把代碼簽入。這些代碼顯然還有少數(shù)幾個地方可以改進(jìn),因為我們剛才集中在功能實現(xiàn)上,所以需要花些時間去重構(gòu)。我們進(jìn)行了大量的單元測試,所以我們確信重構(gòu)不會導(dǎo)致任何bug

11:56 AM

現(xiàn)在代碼處在一個更好的狀態(tài)中。我們把它簽入,并等待了幾分鐘,直到構(gòu)建服務(wù)器傳送回報告,所有內(nèi)容都構(gòu)建完成并測試通過。在這段時間內(nèi),我們討論了下一個任務(wù)如何進(jìn)行。

12:05 PM

我們所有成員今天的工作進(jìn)展齊頭并進(jìn),所以我和幾位團(tuán)隊成員約定在午飯時間去上網(wǎng)。如果上網(wǎng),我還可以去打籃球、騎車、跑步,甚至瑜伽。除此之外,還可以和High Moon工會的成員一起玩《激戰(zhàn)》(Guild War)。

1:10 PM

我回到辦公桌前,潦草吃了頓午飯,同時查看郵件(我在早上接收的,但因為一直在配對編程,沒有時間查看)。我讀了一封來自中間件開發(fā)商的郵件,關(guān)于我們早先的一個需求問題。我迅速發(fā)了回信。

1:25 PM

Sean來到我座位前。他正準(zhǔn)備開始工作,但是上午與他配對的程序員被叫去處理Darkwatch的一些最后的問題。這個任務(wù)十分重要,優(yōu)先級高于我們在做的任何任務(wù)。

Sean迅速向我講解了他上午進(jìn)行的工作,關(guān)于顯示我們物理系統(tǒng)的內(nèi)存使用狀況。我記得他們在上午的Scrum會議上提到過。我上一周也在為物理系統(tǒng)工作,所以我對代碼更熟悉一些。沒過多久,我們對任務(wù)已經(jīng)有了進(jìn)展。

點擊查看原始尺寸
……玩命搖滾:)

2:07 PM

在編寫幾個測試單元并實現(xiàn)了一些功能后,我們準(zhǔn)備把內(nèi)存顯示加入到demo程序中。幾分鐘后,我們在demo中顯示了物理系統(tǒng)使用內(nèi)存的狀況,并且測試在加入和移除剛體時,能顯示出高低變化。

但是出現(xiàn)了問題。當(dāng)我們移除剛體時,內(nèi)存使用沒有顯示降低。我們退出了demo,并且看到了一長串內(nèi)存泄漏提示。我們首先簽入了改動,然后跟蹤內(nèi)存泄露的代碼。這很可能不是由我們寫的代碼引起的,但是我們整個團(tuán)隊遵照“代碼共享”原則。這意味著每個成員都可以在任何時候修改其他成員的代碼。

2:12 PM

構(gòu)建停止了!構(gòu)建服務(wù)器檢測到構(gòu)建失敗,并通過一個系統(tǒng)托盤程序提示我們。我打開了最新的構(gòu)建日志,看到release模式下一個單元測試失敗了。這時,坐在我們旁邊的Tyson說:“噢,我知道這是怎么回事。我正要去修改它呢。”不到半分鐘,他完成了改動并簽入代碼。幾分鐘后,構(gòu)建系統(tǒng)匯報構(gòu)建通過,一切重返正常。

2:17 PM

我們找到了內(nèi)存泄漏的地方,發(fā)生在一個引用計數(shù)的錯誤使用。我們先寫了一個測試單元顯示它的錯誤,然后在物理庫中修復(fù)了它。我們簽入了代碼。

2:18 PM

我們來到戰(zhàn)爭室,取下了一個任務(wù)。這個任務(wù)是要在demo里通過一個GUI,顯示出不同變量和函數(shù)的信息。我們登記了這個任務(wù),開始下一步工作。

3:43 PM

我們一直在待在配對編程區(qū)。我們近乎瘋狂的編寫測試單元和代碼,任務(wù)進(jìn)展非常順利。在上一個小時中,我們?yōu)檫@個任務(wù)簽入了三次。

4:12 PM

另一對程序員在討論如何處理一些特殊情況的錯誤信息。這是一個重要的問題,并且應(yīng)該貫徹于所有代碼。我們開始了快速的討論,大多數(shù)團(tuán)隊成員都參與其中。五分鐘后我們做出了決定,然后回到各自的工作中。

5:40 PM

我們進(jìn)行了今天最后一次簽入。我們幾乎完成了這個任務(wù),但是還差一點。盡管我們可以再花一小時去完成它,但是我倆都非常疲倦,并且思路已經(jīng)不那么清晰,會犯一些錯誤。我們可以明天早上一來就繼續(xù)完成它。接下來是重要的部分,我們是否可以成功簽入。

我們團(tuán)隊有一個規(guī)矩,任何人在下班時,不能簽入完就離開實驗室。你必須等待構(gòu)建服務(wù)器成功構(gòu)建代碼并且通過測試。我們保持短促的構(gòu)建時間,所以只需要再等待45分鐘。如果有任何地方崩潰,你就需要重新修復(fù)它。任何人沒有借口在構(gòu)建失敗時離開。

在等待構(gòu)建完成時,我查看了今天收件箱里積累的郵件。

5:44 PM

幾分鐘后,構(gòu)建服務(wù)器傳來成功的消息。今天是效率非常高的一天,照這個進(jìn)度我們在周五就可以完成所有的用戶需求。聚集了各自成果的demo也逐漸開始顯得很酷

敏捷開發(fā),特別是配對編程的一個特征,就是讓每一天都變得很緊湊。沒有小的空閑去閱讀郵件、瀏覽網(wǎng)頁,或者發(fā)呆。我們在一個工作日里完成了很多工作。但是我們不能在一天里長時間保持這個節(jié)奏,所以按時收工回家是很重要的。這使我能有時間在家閱讀技術(shù)書籍、構(gòu)思不同的想法,或者做次要項目的一些工作,或和家人在一起,享受其他愛好。

我登上愛車,朝家的方向駛?cè)ィ樕涎笠缰θ荨?/span>

posted on 2008-10-25 10:38 楊粼波 閱讀(399) 評論(1)  編輯 收藏 引用

評論

# re: 生命中的一天 2008-12-22 19:19 Domin

無意中進(jìn)了這個博客 真的很喜歡你這種生活方式 太理性了
唉 后悔學(xué)文科啊 我其實很想過理性科學(xué)生活的 有團(tuán)隊有目標(biāo) 真正研究問題
我的電郵:domin634@126.com 如果你百忙中還有空聯(lián)絡(luò)我
——迷茫的大學(xué)生  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费国产一区二区| 久久久青草婷婷精品综合日韩| 欧美国产一区在线| 亚洲精品欧美| 亚洲欧美日本国产有色| 国产欧美日韩视频| 久久久久久综合网天天| 亚洲第一区在线观看| 一区二区免费在线播放| 国产精品久久久久永久免费观看| 亚洲欧美在线一区| 欧美成人69| 亚洲私人黄色宅男| 国产亚洲精品一区二555| 久久久久久久波多野高潮日日| 欧美国产日本在线| 亚洲一区二区精品在线观看| 国产色产综合色产在线视频| 免费在线看成人av| 亚洲一区二区在线免费观看视频 | 精品不卡一区| 欧美金8天国| 午夜精彩国产免费不卡不顿大片| 浪潮色综合久久天堂| 在线午夜精品| 亚洲电影视频在线| 欧美无砖砖区免费| 久久在精品线影院精品国产| 99这里只有精品| 欧美成在线视频| 亚洲欧美激情四射在线日| 136国产福利精品导航网址| 欧美午夜女人视频在线| 久久三级福利| 先锋资源久久| 一本久道久久综合狠狠爱| 久久综合影视| 欧美一级一区| 一区二区福利| 亚洲国产综合视频在线观看| 国产欧美一区二区精品婷婷| 欧美日韩精品久久久| 久久精品视频在线看| 亚洲一区二区三区在线| 亚洲欧洲日夜超级视频| 狼人天天伊人久久| 久久精品女人的天堂av| 亚洲欧美久久久久一区二区三区| 亚洲激情在线观看| 在线观看日产精品| 韩国av一区二区三区四区| 欧美三区在线视频| 欧美精品一区二区精品网| 久久精品日韩| 久久国产手机看片| 性xx色xx综合久久久xx| 亚洲在线1234| 一区二区三区蜜桃网| 亚洲人午夜精品免费| 欧美国产日韩一区二区在线观看| 久久精品国产亚洲精品| 午夜精品视频| 亚洲欧美在线观看| 亚洲专区免费| 午夜激情综合网| 午夜精品视频网站| 欧美在线播放一区| 久久国产精品72免费观看| 亚洲影院色无极综合| 亚洲一区www| 亚洲影院免费| 欧美一二三视频| 欧美在线二区| 久久人人97超碰人人澡爱香蕉 | 美女视频黄 久久| 久久午夜电影网| 久久男人资源视频| 欧美www在线| 亚洲高清av| 亚洲美女少妇无套啪啪呻吟| 99精品国产在热久久| 国产精品99久久久久久久vr| 亚洲一区二区久久| 欧美一区二区三区精品电影| 久久xxxx精品视频| 久久亚洲精选| 欧美日韩国产片| 国产精品美女一区二区在线观看 | 免费久久99精品国产| 久久久精品一区| 久久精品国产久精国产一老狼| 久久在精品线影院精品国产| 欧美福利视频在线| 夜夜嗨av一区二区三区网站四季av| 亚洲视频在线视频| 久久精品国产77777蜜臀| 美女视频黄免费的久久| 欧美日韩成人一区二区| 国产精品视频自拍| 在线观看欧美成人| 一区二区av在线| 欧美有码在线观看视频| 美日韩精品免费| 亚洲精品在线视频观看| 亚洲在线播放电影| 欧美xxxx在线观看| 国产精品视频你懂的| 亚洲激情小视频| 午夜天堂精品久久久久| 麻豆精品在线视频| 日韩视频精品在线| 久久久久天天天天| 欧美日韩一区二区在线观看| 国模私拍视频一区| 一区二区免费在线播放| 久久久久久久欧美精品| 亚洲精品久久久久久久久久久久久| 亚洲一区二区三| 欧美顶级艳妇交换群宴| 国产日韩欧美在线看| 日韩视频免费观看高清完整版| 久久岛国电影| 亚洲卡通欧美制服中文| 久久五月婷婷丁香社区| 国产精品一区二区三区成人| 亚洲区一区二| 久久久久九九九九| 日韩亚洲国产欧美| 美女日韩在线中文字幕| 国产日韩在线不卡| 亚洲永久在线| 亚洲精品九九| 噜噜噜久久亚洲精品国产品小说| 国产精品一区二区三区久久| 日韩亚洲视频| 亚洲成人自拍视频| 新狼窝色av性久久久久久| 欧美性视频网站| 日韩午夜在线视频| 欧美大片免费| 久久成人在线| 国产午夜精品一区二区三区视频| 亚洲图片在线观看| 亚洲人成小说网站色在线| 久久亚洲不卡| 黄色一区二区在线观看| 久久都是精品| 亚洲一区二区三区在线| 欧美午夜一区二区| 一区二区三区免费网站| 亚洲精品日本| 欧美日韩精品伦理作品在线免费观看 | 最新成人在线| 欧美成熟视频| 亚洲精品视频二区| 欧美激情国产日韩| 男人天堂欧美日韩| 亚洲国产成人精品女人久久久| 久久资源av| 久久久精品性| 依依成人综合视频| 欧美暴力喷水在线| 玖玖综合伊人| 91久久久在线| 最新高清无码专区| 欧美日韩国产一级| 夜夜夜久久久| 99精品视频免费观看| 欧美日韩中文字幕综合视频| 亚洲一区二区在| 中文日韩在线视频| 国产日韩亚洲欧美综合| 久久精品一二三区| 久久综合中文色婷婷| 亚洲人成绝费网站色www| 亚洲国产日韩欧美在线图片| 欧美精品一区在线发布| 亚洲午夜电影在线观看| 亚洲欧美日韩精品久久亚洲区 | 欧美激情va永久在线播放| 日韩视频在线一区二区| 日韩一级黄色av| 国产精品一区免费在线观看| 久久久夜精品| 欧美多人爱爱视频网站| 亚洲一区二区三区精品动漫| 亚洲天堂成人在线视频| 国产一区二区三区丝袜 | 欧美一区二区三区精品| 亚洲国产精品黑人久久久| 亚洲精品一区二区三| 国产精品日韩电影| 免费久久99精品国产自| 欧美日韩小视频| 久久激情中文| 欧美国产日韩在线| 欧美与欧洲交xxxx免费观看| 蜜桃av一区二区在线观看| 9i看片成人免费高清| 欧美伊人久久久久久久久影院|