程式設計文化的問題

發表於2013-09-12

“這程式碼真垃圾”,當我們翻查一些程式碼尋找一個特別討厭的bug時,同事大聲這樣說。“是嗎”,我回答到。

像這樣的譴責,以及其它一些類似的話,在辦公室裡經常會聽到,而且頻率在增加。而最令人不安的是,這程式碼並不是特別的糟糕。我這話是什麼意思?不能把它們寫的更好嗎?當然!大多數的程式碼都有改善的空間——只要有足夠的時間和資源。垃圾程式碼確實有,我們都看得見,而且都是我們自己寫的,但這並不是問題。

wtf-this-is-shit-en-000000-800x450

 

問題是我們有一個不良的“這程式碼真垃圾”文化。

這是一種我感覺在web開發社群中越來越常見的文化。接著上面的例子,我請同事解釋一下,解釋為什麼這程式碼很垃圾,我得不到一個直接的答覆。

“這還不垃圾,你看這程式碼”,他回答說,那種趾高氣揚我需要仰頭才能看到他,緊鄒的眉頭就好象是說,如果不能看出這程式碼有多爛,那就是個傻子。結果你知道怎麼著?我開始感覺有點傻了。我差點就忍不住開始跟著他一起嘲笑,認定這程式碼真的有多爛,多糟糕。

在我繼續下面的內容之前,我發現上面的內容並沒有在最好的光線下描繪我的同事。所以,讓我彌補一下。他是個非常好的小夥。坦白的說,他是我見過的最和善的小夥之一。他友善,有一個他很愛的家庭,他跑馬拉松,樂於助人,聰明,等等等等。還有一點要說明:他是一個經驗不多的新手。他還在學一些基礎的開發知識。這沒什麼好羞愧的,我們都經歷過這個階段。那麼,為什麼這樣一個友善、聰明的小夥,在他參與的第一個大型web專案上,他的第一反應就是去指責一些程式碼很垃圾?——他甚至還沒有真正的去理解它。

 

生活規律:垃圾往下倒。

這個問題並不單獨出現在程式設計師新手中。很多精明人士都有這習慣。你也許是一個奇才,一個久經考驗的程式設計師,但如果有這樣一種習慣,整個團隊和專案都會受到負面影響。因為新手們把你當作知識和經驗的源泉。越多的人擁抱這種“這程式碼真垃圾”文化,這種文化就會越被認可,越成為模仿的物件。很快,程式設計師開始變的不是積極在專案上出力,而是去貶低別人在專案上的貢獻。最大嘴、最反面的程式設計師很快就成了最受尊敬的人。所有人都受折磨,專案受影響,而一部分人卻能能得到讚美,為倒是都是垃圾而感到心滿意足。

 

我們應該怎麼做?

沒有人想顯得愚蠢,沒有人想自己的工作被認為劣質。一旦“這程式碼真垃圾”文化開始傳播,唯一能確保自己在別人之上的辦法就是貶低別人。最終,這變成了一種負能量,而不是想著去解決問題。

那麼,對這樣的一種特殊現象有什麼解決方法?阻止它。不要不加思索的否定別人的程式碼——在沒有原因、沒有理解的情況下。有很多的方式可以處理那些看起來有問題的程式碼。如果發現程式碼中有異味,想辦法改進它。從理解這些程式碼開始,在此基礎上修正。如果你發現專案中有一些不良風氣,不要跟隨。如果有人對你說“這程式碼真垃圾”,問他為什麼,然後瞭解查明,去做一些事情讓它變的不垃圾。向最初寫這些程式碼的人瞭解,也許他們這樣寫程式碼是有原因的。幫助他們,而不是詆譭他們。

下一次,當我發現從顯示器裡飄出可疑的異味時,我會轉身問我的同事,“我們如何改進這段它?”因為,我們要面對它們,有時候程式碼會很垃圾,但這不意味著我們也去變成垃圾。

相關文章