我所在的團隊每隔一段時間都進行一次Code Review(代碼審查), 看看別人的代碼, 提出自己的看法. 這對提高代碼質量, 團隊成員之間交流思想和方法都挺好的. 但是這個交流的過程也有一些需要注意的地方. 今天我想說的就是經常會有人問為什么不!
比如說我在介紹自己的代碼的時候,講到某個問題是用什么方法解決的. 就有人會問為什么不用那一種方法呢?對於這種問題你會怎么回答呢?
在我看來,這種問題從主觀上看, 你是覺得我的代碼寫得不好,好像是在指責我挑我的刺. 可能我的代碼真的寫得不好, 但這種問法或多或少會讓人覺得不舒服的. 嚴重的甚至會導致成員之間產生隔閡, 不利於今后的合作.
從客觀上看,這個問題也很不好回答. 人與人的思想是不同的, 我可能想到了你說的那種解決方法. 比較了它們之間的優點和缺點,最終選擇了我的做法. 但是也有可能我根本就沒想到過你說的那種方法, 不知道它有什么優點和缺點, 我怎么知道為什么呢!對於前一種情況,我還可以說出我的真實想法, 大家討論一下. 對於后一種情況,就真不知道怎么回答了.
然而,我們如果換一種問法, 不要問"為什么不?". 而是問一下, 你為什么要這樣做, 根據什么來選擇的這種方法. 先了解一下人家想法, 然后你再提出如果我們這樣做會怎么樣, 會不會好一點呢! 我想, 大家都會比較容易接受, 而且還可以帶動大家一起來思考,探討這個問題. 隊友之間的交流就會更和諧,更順暢了!
其實不光是程序員之間的交流需要注意, 這是人與人之間的交流都應該注意的.