惹毛程式設計師的十件事!需求變更居然不是排第一

edithfang發表於2014-08-25



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

第十位 程式註釋

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

每當看到這樣的註釋——只註釋是什麼,而不註釋為什麼,相信你一定會被惹火,這是誰寫的程式註釋啊?不找來罵一頓看來是不會解氣了。程式註釋應該是告訴別人你的意圖和想法,而不是告訴別人程式的語法,這是為了程式的易讀性和可維護性,這樣的為了註釋而註釋的註釋,分明不是在註釋,而是在挑釁,惹毛別人當然毋庸置疑。
  
1 r = n/2; //r是n的一半
  2
  3 //迴圈,僅當r- n/r不大於t
  4 while ((r-n/r) <=t){
  5 //… …
  6 r = 0.5 * (r-n/r); // 設定r變數
  7 }

第九位 打斷

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

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

第八位 需求變更

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

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

第七位 經理不懂技術

外行領導內行的事例還少嗎?領導一句話,無論對不對,都是對的,我們必需照做,那怕是多麼愚蠢多麼錯誤的決定,我們也得照做。程式設計師其實並不怕經理不懂技術,最怕的就是不懂技術的經理裝著很懂技術。最可氣的是,當你據理力爭的挑戰領導權威的時候,領導還把你視為異類。哎,想起這樣的領導別說是罵人了,打人的衝動都有了。

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

第六位 使用者文件

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

第五位 沒有文件

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

第四位 部署環境

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

第三位 問題報告

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

第二位 程式設計師自己

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

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

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

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

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

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

第一位 程式設計師的程式碼

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

相關文章