天天看點

惹惱程式員的十件事

版權聲明:原創作品,允許轉載,轉載時請務必以超連結形式标明文章 原始出處 、作者資訊和本聲明。否則将追究法律責任。http://haoel.blog.51cto.com/313033/154088

程式員是一個比較特殊的群體,他們因為長期和電腦打交道所養成的性格和脾氣也是比較相近的。當然,既然是人,當然是會有性格的,也是會有脾氣的。下面,讓我來看看十件能把程式惹毛了的事情。一方面我們可以看看程式員的共性,另一方面我們也可以看看程式員的缺點。無論怎麼樣,我都希望他們對你的日常工作都是一種幫助。

第十位 程式注釋

程式注釋本來是一些比較好的習慣,當程式員老手帶新手的時候,總是會告訴新手,一定要寫程式注釋。于是,新手們當然會聽從老手的吩咐。隻不過,他們可能對程式注釋有些誤解,于是,我們經常在程式中看到一些如下的注釋:

r = n/2;  //r是n的一半

//循環,僅當r- n/r不大于t

while ((r-n/r) <=t){

        … …

        r = 0.5 * (r-n/r); // 設定r變量

}

每當看到這樣的注釋——隻注釋是什麼,而不注釋為什麼,相信你一定會被惹火,這是誰寫的程式注釋啊?不找來罵一頓看來是不會解氣了。程式注釋應該是告訴别人你的意圖和想法,而不是告訴别人程式的文法,這是為了程式的易讀性和可維護性,這樣的為了注釋而注釋的注釋,分明不是在注釋,而是在挑釁,惹毛别人當然毋庸置疑。

第九位 打斷

正當程式沉浸于程式設計算法的思考,或是靈感突現正在書寫程式的時候,但卻遭到别人的打斷,那是一件非常痛苦的事情,如果被持續打斷,那可能會讓人一下子就煩躁起來。打斷别人的人在這種情況下是非常不禮貌的。被打斷的人就像函數調用一下,當其傳回時,需要重新恢複斷點時的現場,當然,人不是電腦,恢複現場通常是一個很痛苦的過程,極端的情況下可能需要從頭開始尋找思緒,然後一點一點地回到斷點。

是以,我看到一些程式員在需要安靜不被打擾的時候,要麼會選擇去一個沒人找得到的地方,要麼會在自己的桌子上方高挂一個條幅以示衆人——“本人正執行核心程式,無法中斷,請勿騷擾,謝謝!”,可能正在沉浸于工作的程式被打斷是多麼大的開銷。自然,被打斷所惹毛了的人也不在少數了。

第八位  需求變化

這個事情估計不用多說了。隻要是是程式員,面對需求變化的時候可能總是很無奈的。一次兩次可能還要吧接受,但也頂不住經常變啊。據說靈活開發中有一套方法論可以讓程式員們享受需求的變化,不知道是真是假。不過,今天讓你做一個書桌,沒有讓你把書桌改成餐桌,後天讓你把餐桌改成雙人床,大後天讓你把床改成小木屋,然後把小木屋再改成高樓大廈。哎,是人都會被惹毛了的。那些人隻用30分鐘的會議就可以作出任何決定,但後面那幾十個程式員需要搭上幾百個小時的辛苦工作。如果是我,可能我也需要神獸草泥馬幫助解解氣了。

不過,這也正說明了,程式員并不懂得怎麼和使用者溝通,而使用者也不懂得和程式員溝通,如果一個項目沒有一個中間人(如:PM)在其中協調的話,那麼整個項目可能就是“雞同鴨講”,使用者和程式員都會被對方所惹毛了。如果要例舉幾個使用者被惹毛的事情,估計程式員的那種一根筋的隻從技術實作上思考問題的方法應該也能排進前5名。

第七位  經理不懂技術

外行上司内行的事例還少嗎?上司一句話,無論對不對,都是對的,我們必需照做,那怕是多麼愚蠢多麼錯誤的決定,我們也得照做。程式員其實并不怕經理不懂技術,最怕的就是不懂技術的經理裝着很懂技術。最可氣的是,當你據理力争的挑站上司權威的時候,上司還把你視為異類。哎,想起這樣的上司别說是罵人了,打人的沖動都有了。

其實,經理隻不過是一個團隊的支援者,他應該幫助團隊,為團隊排憂解難。而不是對團隊發号施令。其實管理真的很簡單,如果懂的話,就幫着做,如果不懂的話,就相信下屬,放手讓下屬做。最怕的就是又不懂技術,還不信任下屬的經理了。哎,這真是程式員的痛啊。

第六位 使用者文檔

使用者文檔本來不應該那麼的令人害怕。這些文檔記錄了一切和我們所開發的軟體有關的一些話題。因為我們并不知道我們所面對的使用者的電腦操作基礎是什麼樣的,是以,在寫下這樣的文檔的時候,我們必需假設這個使用者什麼也不懂。于是,需要用最清楚,最漂亮的語言寫下一個最豐富的文檔。那怕一個拷貝粘貼的操作,可能我們都要分成五、六步來完成,那怕是一個配置IP位址的操作,我們也要從開始菜單開始一步一步的描述。對于程式員來說,他們在開發過程中幾乎天天都在使用自己開發的軟體,到最後,可能都有得有點吐了,但還得從最簡單的部份寫這些文檔,當然容易令他們煩燥,讓程式員來完成這樣的文檔可能效果會非常不好。是以,對于這樣的使用者文檔,應該由專門的人來完成和維護。

第五位  沒有文檔

正如上一條所說的,程式員本來就不喜歡寫文檔,而因為技術人員的表達能力和寫作能力一般都不是太好,是以,文檔寫的也很爛。看看開源社會的文檔可能就知道了。但是,我們可愛的程式員另一方面最生氣的卻是因為沒有文檔。當然,讓面說是的使用者的文檔,這裡我們說的是開發方面的文檔,比如設計文檔,功能規格,維護文檔等等。不過,基本上都是一樣的。反正,一方面,我們的程式員不喜歡寫文檔,另一方面,我們的程式又會被抱怨沒有文檔,文檔太少,或者文檔看不懂。呵呵。原來在抱怨方面也有遞歸啊。據說,靈活開發可以降低程式開發中的文檔,據說他們可以把代碼寫得跟文檔和示圖似的,不知道是真是假。不過,我聽過太多太多的程式員抱怨沒文檔太少,文檔太差了,這個方面要怪還是怪程式員自己。

第四位 部署環境

雖然,程式員們開發的是軟體,但是我們并不知道我們的程式會被部署或安裝在什麼樣的環境下,比如,網絡上的不同,RAID上的不同,BIOS上的不同,作業系統的不同(WinXP和Win2003),有沒有防毒軟體,和其它程式是否相容,系統中有流氓軟體或病毒等等。當然,隻要你的軟體出現錯誤,無論是你的程式的問題,還是環境的問題,反正都是你的問題,你都得全部解決。是以,程式員們并不是簡單地在程式設計,很多時候,還要當好一個不錯系統管理者。每當最後确認問題的原因是環境問題的時候,可能程式員都是會心生怨氣。

第三位 問題報告

“我的軟體不工作了”,“程式出錯了”,每當我們聽到這樣的問題報告的時候,程式員總是感到很痛苦,因為這樣的問題報告等于什麼也沒有說,但還要程式員去處理這種錯誤。沒有明确的問題描述,沒有說明如果重制問題,在感覺上,當然會顯得有點被人質問的感覺,甚至,在某些時候還摻雜着看不起,訓斥的語氣,當然,程式員基本上都是很有個性的,都是軟硬不吃的主兒,是以,每當有這樣的語氣報告問題的時候,他們一般也會把話給頂回去,當然,後面自己然發生一些不愉快的事情。是以,咱們還是需要一個客服部門來幫助我們的程式員和使用者做好溝通。

第二位 程式員自己

惹毛程式員的可能還是程式員自己,程式員是“相輕”的,他們基本上都是持才傲物的,總是覺得自己才是最牛的,在程式員間,他們幾乎每天都要吵架,而且一吵就吵得臉紅脖子粗。在他們之間,他們總是被自己惹毛。

技術上的不同見解。比如Linux和Win,VC++和VB,Vi和Emacus,Java和C++,PHP和Ruby等等,等等。什麼都要吵。

老手對新手的輕視。總是有一些程式員看不起另一些程式員,說話間都帶着一種傲慢和訓斥。當新手去問問題的時候,老手們總是愛搭不理。

在技術上不給對方留面子。不知道為什麼,程式員總是不給對方留面子,每當聽到有人錯誤了解某個技術的時候,他們總是喜歡當衆大聲指證,用别人的“錯誤”來表明自己的“博學”,并證明他人的“無知”。

喜好鄙視。他們喜好鄙視,其實,這個世界上沒有一件事是完美的,有好就有不好,要挑毛病太容易了。程式員們特别喜歡鄙視别人,無論是什麼的東西,他們總是喜歡看人短而不看人長。經常挂在他們嘴上的口頭禅是“太差”、“不行”等等。

程式員,長期和電腦打交道,編寫出的代碼電腦總是認真的運作,長期養成了程式員們目空一切的性格,卻不知,這個世界上很多東西并不是能像電腦一樣,隻要我們輸入正确的指令它就正确地運作這麼簡單。程式員,什麼時候才能變成成熟起來……

第一位 程式員的代碼

無論你當時覺得自己的設計和寫的代碼如何的漂亮和經典,過上一段時間後,再回頭看看,你必然會覺得自己的愚蠢。當然,當你需要去維護他人的代碼的時候,你一定要在一邊維護中一邊臭罵别人的代碼。是否你還記得當初怎麼怎麼牛氣地和别人讨論自己的設計和自己的代碼如何如何完美的?可是,用不了兩年,一剛從學校畢業的學生在維護你的代碼的過程當中就可以對你的代碼指指點點,你的顔面完全掃地。呵呵。當然,也有的人始終覺得自己的設計和代碼就是最好的,不過這是用一種比較靜止的眼光來看問題。程式設計這個世界變化總是很快的的,很多事情,隻有當我們做過,我們才熟悉他,熟悉了後才知道什麼是更好的方法,這是循序漸進的。是以,當你對事情越來越熟悉的時候,再回頭看自己以前做的設計和代碼的時候,必然會覺得自己的膚淺和愚蠢,當然看别人的設計和代碼時,可能也會開始罵人了。

(全文完)

本文出自 “陳皓的個人專欄” 部落格,請務必保留此出處http://haoel.blog.51cto.com/313033/154088

本文出自 51CTO.COM技術部落格

繼續閱讀