什麼情況結對程式設計行不通

2021-08-29 06:25:53 字數 1370 閱讀 3773

眾所周知,在敏捷開發世界裡,結對程式設計給我們帶來許多在一般的軟體工程中所無法解決的問題的好處,如花費大約一半的時間就能編寫

出質量更高的**等等。但結對程式設計並不是萬靈的,它在一定的情況下才能給我們帶來這些好處,而在另一些情況下,它就會失效、行不能。

下面就舉乙個例子來看看結對程式設計失效的情況。

因為結對程式設計需要兩個人不斷進行的溝通與做決定,所以如果不能溝通或者做不了決定的話,結對程式設計就行不通了。

打個比方說,小許為了趕工期,弄得非常緊張,但他的專案經理堅持讓他去配合小王。這樣小許就很不情願的去跟小王搭檔。他讓小王把

**給他看看。儘管他覺得dataaccesser這個類很不合適,但他一心在想著他的專案的截止日期。他說道:「哦!去掉這個類,太花時間了。你簡

單把它改名成dbtable吧。」小王說:「不行!現在整個系統的結構全部集中在資料庫上,再這樣下去系統會崩掉的。我們一定要解決這個結構

!所以專案經理讓你過來幫我的……」之後,小王在寫**的時候,小許根本沒認真看。他一點建議都沒給。

上面這種情況,就是屬於不能溝通的情況。小許不願意跟小王結對程式設計(小許自己本身就有很急的任務),他們表面上是搭檔的,事實上

根就本沒有。

因為兩人之間沒有共同的目標(比如,改進系統的結構)。如果人沒有共同的目標,那他們就沒有溝通的慾望。

但這並不是無法溝通的唯一原因。比如,如果乙個搭檔比較情緒化,不喜歡跟人交流,那就無法溝通了。當小王

和小許在寫testdeleteall這個方法的時候,小王建議用「t」來代替「abc」作表名。如果小許這樣回答:「abc就行了,我寫了好幾年的測試

,都是用這種資料的。你懂什麼?你才剛畢業好不好?我在程式設計的時候,你還在幼兒園呢。」 在交流的方式上,溝通可能也會有問題。如果一

個搭檔缺乏信心,他什麼意見都不敢提。小王跟小許在一起

寫dbtable的時候,正確的情況下,小王問小許為什麼要在寫dbtable類之前寫乙個失敗的測試。可是如果小王被小許的經驗和能力震住了,一

個問題也不敢提?那系統開發過程中,就得不到小王任何有意義的建議了。

缺乏自信只是不提意見的乙個原因。另乙個原因看起來就很傻了。當小王還給小許解釋dataaccesser類裡

面的deleteall方法中有關級聯刪除的**時,如果小許覺得不懂這些**是一件很蠢的事情,然後就不細看,也不提問題直接跳過去,那會怎

麼樣?小許對系統了解就不夠多,也就給不了重構的什麼好建議了。

總結了一下,以下是造成結對程式設計無法正常工作的一些情況:

1、不情願的配合

2、拒絕別人的意見,甚至攻擊對方。

3、小心翼翼有意見不敢提。

4、怕別人覺得自己笨不敢問問題。

5、如果這些問題真的發生了呢?不過這個跟管理以及個人性格更有關係,最好的方式就是不讓他們結對,或者

讓他們跟別的人結對。

C 是什麼情況

說起lambda表示式其實簡單理解為乙個方法,什麼方法呢 是個匿名方法 就是乙個沒名字的方法 第一種 是乙個既沒有引數又沒有返回值的方法 第二種 x x 2 是乙個引數為x返回值為x 2的方法 第三種 x,y x y 是乙個引數為x和y返回值為兩個引數之和的的方法,當引數大於乙個的時候lambda前...

是什麼情況造成死鎖

include include include int pthread create pthread t restrict tidp,const pthread attr t restrict attr,void start rtn void void restrict arg int g data...

PCB 什麼情況下可以敷銅,什麼情況下不能敷銅?

路面積,敷銅作用主要有兩個方面 1 可以起到一定的回流作用,當然,如果板層較多且層設定合理,敷銅回 流的作用就很小 2 可以起到一定的遮蔽作用,將上下層兩個覆銅平面想象成無限大,就成 了乙個遮蔽盒,敷銅永遠做不到這點,就像機箱一樣。從以上兩點出發,敷銅要看具體情況 1 對於需要嚴格阻抗控制的板子,不...