- 軟件集成策略:如何有效率地提升質量
- 董越
- 1179字
- 2018-12-27 16:46:39
6.意料之外的問題
英英打來電話,詢問這次集成中,有沒有程序員說是構建通過了,但實際上沒有構建通過。曉川說他正在分析。在周四下班前,曉川做完了分析,發現現在幾乎所有的集成構建失敗,都不是由程序員提交的改動本身造成的了。唯一的一個例外,是程序員小周的提交。曉川下載了相應任務分支上的源代碼,編譯,沒通過。曉川告訴了英英這個結果。
英英沒有食言,第二天早上真的發信給了項目全體成員,說本次集成大家提交質量很好,因此集成速度也大為提高。唯一有問題的提交是小周的提交,盡管他在提交時標明構建通過。信的落款還是英英和曉川。
沒過多會兒,曉川接到英英的電話。英英的言語有些急迫,讓曉川馬上過來一下。曉川一頭霧水,往英英的工位走。還沒到英英的座位,就看見小周在跟英英嚷嚷,臉紅脖子粗的。曉川見到這個情景,有立刻把小周拉走的念頭,不過覺得不合適,就和周圍聚過來的同事一起勸小周平靜下來慢慢說。
原來,小周覺得自己很委屈,因為他在提交之前做了構建,沒有任何問題才提交的。曉川弄明白了怎么回事,就說,“是我用你的分支上的代碼又做了一次構建,結果構建失敗了。跟英英沒關系。我到你工位上去,我們一起分析一下情況?!闭f罷,把小周拉走了。
曉川和小周在一起,花了不少時間來研究到底是怎么回事。他們在兩個人的工位間來回穿梭。英英也一直跟著,雖然沒怎么說話。最后在曉川的工位上,他們確定了問題所在。小周在編譯各個源文件后,用的鏈接程序,版本太新了,比大家普遍用的要新。所以,盡管在小周的計算機上能鏈接通過,到曉川的計算機上,就鏈接不通過了。而之所以這個問題沒有在集成的時候研究清楚,是因為前兩天小周有事兒請假,由另外一位同事幫忙解決的問題,而他并不知道這個錯誤是因為小周用的鏈接工具版本不對造成的。
發現了問題所在,曉川很高興。而小周仍然很不高興,認為他已經按照流程,在提交前進行過構建了。而英英群發的信件,誣陷他是不誠實的人,讓他非常沒面子。
曉川的師父一直在旁邊,這時候說話了,讓小周仔細看看信件。信件里說的沒錯:唯一有問題的提交是小周的提交,盡管他在提交時標明構建通過。信件中說的都是事實,提交確實有問題。信件中并沒有說小周是不誠實的人。
小周不再說是英英誣陷他了,但是仍然不高興,因為這讓人懷疑他的品行。曉川的師父建議曉川接著英英的信再發封信,告訴大家這次出錯的原因,順便給出幾個常用工具的正確版本。大家都接受了師父的建議。
曉川照此群發了信件。事情平息下來了。師父看了曉川的信件,跟曉川說,“小子,落款你怎么就寫你自己的名字啊,你看英英多聰明啊,加上你的名字,出了事兒讓你也跑不了。以后學著點兒。”可曉川不是這樣想的。事實上,當曉川看到英英把他也放在落款上,和英英并列的時候,他有一種溫暖的感覺,大概是同一個戰壕的戰友的感覺吧。可是,讓他落款時把英英的名字并列上,他又覺得有點不好意思……下次再加吧。