十種更好的表達“你的程式碼寫的很爛”的方法

aqee發表於2013-11-18

  如果你有一個同事,他寫的程式與其說是程式碼,不如說更像希臘神話中女妖美杜莎的頭髮,你當然不能熟視無睹,你應該做出一些反應,但你可選的合適的反應方式並沒有多少:自己默默的幫他整理清楚、向上級抱怨、向其他同事背後嘮叨此事、悶在心裡直到憋不住,或者這最大膽的方法:走上去直接對爛程式設計師說他的程式碼很爛。

working1

  事實上,這最大膽的方法其實也是最好的方法。大多時候,你可以做的巧妙些,從而避免由此引起的感情傷害或引發咆哮比賽。就像一句古話:只要方式正確,你可以向一個人說任何話。

  當然,找到這正確的方式並不是輕而易舉的事情。為了方法大家行事,下面是10種讓你的表達更具技巧性的好方法。

  • 開門見山:告訴他你看不懂他寫的程式碼,並追加一些像這樣的話:“我需要你幫我理解這塊程式碼”——這是“矽谷iOS程式設計師研討會”組織者、軟體程式設計師Tim Burks的話。
  • 推心置腹:約他出去喝兩瓶啤酒,麻痺他的抵抗情緒,先從討論編碼風格說起。你會發現,他之所以這樣寫程式碼是因為這樣他很方便——而不是方便開發團隊。通過討論程式碼不僅僅是人和機器交流的工具,更重要的是通過程式碼的人和人的交流,你可以讓他用一種全新的思維來認識程式碼。
  • 高山仰止:如果你的同事敬重你,想必他也會敬仰或效仿你所敬仰的著名程式設計師。所以,跟他講那些傑出程式設計師的故事。或者向他轉述Burks的觀察所得:傑出的程式設計師總能把自己的編碼風格融入到他人的風格中。
  • 一針見血:Adobe System研究實驗室的領袖人物Tom Jacobs說,“為了格式而格式化程式碼毫無意義,但將調整程式碼格式作為重構工作的一部分,增加新功能、修改bug工作的一部分,那是很正常的,因為這樣做本質的增加了程式碼的質量。”
  • 反饋問題,而不是批評:心理學家Leon Seltzer在“當代心理學”上的一篇部落格中說,“人們更喜歡接受反饋資訊而不是批評——即使是負面反饋”。所以,以反饋問題的形式訴說問題。
  • 以後改進:不要苛求當前的工作,而是要求日後對此改進提高。按這種思路,你可以說:“嗨,下一次,如果你能把每個方法的行數減到10行以下,那會更好。”這比說“你的程式碼一塌糊塗”要中聽的多。
  • 糖衣炮彈:封裝你的批評,在表達“你的程式碼很爛”的意思前和後先恭維一番。
  • 偷換概念:如果交談中總是說你、你、你,這很容易引起敵意,就好象你在指控罪名。所以,不如換種方式,與其說“每次都讓我為你寫的程式碼擦屁股”,不如說“有時候我真感到很沮喪,因為需要重你的程式碼。”
  • 引蛇出洞:這種辦法稍微有些麻煩,但不失為一種以守為攻的好辦法。組織一些程式設計大賽之類的活動。如果順利的話,它能引出一場安全的、沒有猜疑的關於如何提高你的同事的程式碼質量的討論。

  還有其它對付這些寫爛程式碼的人的好辦法嗎?請分享出來,留在下面的評論裡。

  英文原文:10 Nice Ways to Say ‘Your Code Sucks’

相關文章