查看: 4980|回復: 7
打印 上一主題 下一主題

轉---十個(gè)糟糕的程序員的行為

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-8-5 16:50:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 程序員 , 行為
十個(gè)糟糕的程序員的行為


1) 情緒化的思維
如果你開(kāi)始使用不同顏色的眼光來(lái)看待這個(gè)世界的話(huà),那么你可能會(huì )成為一個(gè)很糟糕的程序員。情緒化的思維或態(tài)度很有可能會(huì )把自己變成一個(gè)怪物。相信你經(jīng)?梢钥吹胶芏嗪茉愀獾某绦驎(huì )使用下面的這些語(yǔ)句:
我的程序不可能有這種問(wèn)題。
Java就是shit。
我最恨的就是使用UML做設計。
需求怎么老在變,沒(méi)辦干了。
受不了這些人,他們到底懂不懂啊。
…… ……
這些帶著(zhù)情緒化的思維和態(tài)度,不但可以讓你成為一個(gè)很糟糕的程序員,甚至可以影響你的前途。因為,情緒化通常都是魔鬼,會(huì )讓你做出錯誤的判斷和決定,錯誤碼率的判斷和決定直接決定了你的人生。

2) 懷疑別人
糟糕的程序總是說(shuō):“我的代碼一定是正確的,我懷疑編譯器有問(wèn)題”,“我這應該沒(méi)有問(wèn)題吧,STL庫怎么這么難用啊”。我曾經(jīng)見(jiàn)過(guò)有程序員這樣使用STL類(lèi):map,當他發(fā)現這樣放入字符串后卻取不出來(lái),覺(jué)得那是STL庫的BUG,然后自己寫(xiě)了一個(gè)map!我的天!
某些時(shí)候,過(guò)早的下結論是一個(gè)很不好的習慣,任何事情都有其原因,只有知道了原因,你才能知道是誰(shuí)的問(wèn)題。一般來(lái)說(shuō),總是自己出的問(wèn)題。
3) 過(guò)多關(guān)注實(shí)現,陷入問(wèn)題細節
有些時(shí)候,當我們面對一個(gè)問(wèn)題或是一個(gè)需求的時(shí)候,糟糕的程序員總是會(huì )馬上去找一個(gè)解決方案或是實(shí)現,這是一個(gè)很不好的習慣。設計模式告訴我們,“喜歡接口,而不是實(shí)現”就是告訴我們,認清問(wèn)題的本質(zhì)和特性要比如何實(shí)現更重要。
對于一個(gè)客戶(hù)的問(wèn)題來(lái)說(shuō),首先應該想到的是如何先讓用戶(hù)正常工作,如何恢復正在“流血”的系統,而不是把用戶(hù)放在一邊而去分析問(wèn)題的原因和解決方案。
對于解決一個(gè)bug來(lái)說(shuō),重現bug,了解原來(lái)程序的意圖是首先重要的事,而不是馬上去修改代碼,否則必然會(huì )引入更多的BUG。
對于一個(gè)需求來(lái)說(shuō),我們需要了解的需求后面的商業(yè)背景,use case和真實(shí)意圖,而不是去討論如何實(shí)現。只有了解了用戶(hù)的真實(shí)意圖,實(shí)際使用的方式和案例,你才能真正如果去做設計。
糟糕的程序總是容易陷入細節,爭論于如何實(shí)現和實(shí)現難題,以及問(wèn)題的根本原因,而忽略了比這些更重要的東西。只有看懂了整個(gè)地圖,我們才知道要怎么去走。
4) 使用并不熟悉的代碼
糟糕的程序員最好的朋友是 Ctrl-C 和 Ctrl-V,有些時(shí)候,他們并不知道代碼的確切含義,就開(kāi)始使用它,有證據表明,由拷貝粘貼引發(fā)的bug占了絕大多數。因為,代碼總是只能在特定的環(huán)境下才能正常地工作,如果代碼的上下文改變了,很有可能使得代碼產(chǎn)生很多你不知道的行為,當你連代碼都控制不住了,你還能編出什么好的程序呢?
5) 拼命工作而不是聰明的工作
對于糟糕的程序員,我們總是能看到他們拼命地修正他們的bug,總是花非常多時(shí)間并重復地完成某一工作。而好的程序可能會(huì )花雙倍的時(shí)間來(lái)準備一個(gè)有效的開(kāi)發(fā)環(huán)境,工具,以及在開(kāi)發(fā)的時(shí)候花雙倍甚至10倍的時(shí)間來(lái)避免一些錯誤。好的程序員總是會(huì )利用一切工具或手段來(lái)讓自己的工作變得更有效率,總是為在開(kāi)發(fā)的時(shí)候盡可能得不出錯。后期出錯的成本將會(huì )是巨大的,而且那時(shí)改正錯誤的壓力也是巨大的。所以,糟糕的程序通常會(huì )讓自己進(jìn)入一種惡性循環(huán),他們看上去總是疲憊的,總是很辛苦的,所以更沒(méi)有時(shí)間來(lái)改善,越?jīng)]有時(shí)間來(lái)改善,就有越多的問(wèn)題。所以,拼命工作有些時(shí)候可能表明你不是一個(gè)好的程序員。
6) 總是在等待、找借口以及抱怨
當需求不明確的時(shí)候,當環(huán)境不是很滿(mǎn)意的時(shí)候,他們總是在等待別人的改善。出現問(wèn)題的時(shí)候,總是在找借口,或是抱怨這也不好,那也不好,所以自己當然就沒(méi)有做好。糟糕的程序員總是希望自己的所處的環(huán)境是最好的,有明確的需求,有非常不錯的開(kāi)發(fā)環(huán)境,有足夠的時(shí)間,有不錯的QA,還有很強的teamleader,以及體貼自己的經(jīng)理,有足夠的培訓,有良好的討論,有別人強有力的支持……,這是一種“飯來(lái)張口,衣來(lái)伸手”的態(tài)度,這個(gè)世界本來(lái)就不完美,一個(gè)團隊需要所有人去奮斗,況且,如果什么都變得完美了,那么,你的價(jià)值何在嗎?driving instead of waiting,leading instead of following.
7) 滋生辦公室政治
有句話(huà)叫“丑女多作怪”,意思是說(shuō)如果一個(gè)自己沒(méi)有真實(shí)的能力的話(huà),那么他一定會(huì )在其它方面作文章。糟糕的程序員也是這樣,如果他們程序編不好的話(huà),比不過(guò)別人的話(huà),他們通常會(huì )去靠指責別人,推脫責任,或是排擠有能力的人,等等不正常的手段來(lái)保全自己。所以,糟糕的程序通常伴隨著(zhù)辦公室政治。
8 ) 說(shuō)得多做得少
糟糕的程序員總是覺(jué)得自己什么都懂,他們并不會(huì )覺(jué)得自己的認識和知識都是有限的。這就是所謂的夸夸其談,是的,什么都做不好的程序員能靠什么混日子呢?就是吹啊吹啊。
另一個(gè)表現方式是他們在評論起別人的程序或是設計,總是能挑出一堆毛病,但自己的程序寫(xiě)得也很爛?偸桥u抱怨,而沒(méi)有任何有建設性的意見(jiàn),或是提出可行的解決方案。
這些糟糕的程序員,總是喜歡以批評別人的程序而達到顯示自己的優(yōu)秀。
9) 頑固
當你給出一打證據說(shuō)明那里有一個(gè)更好的方案,那里有一個(gè)更好的方向的時(shí)候,他們總是會(huì )倔強的認為他們自己的做法才是最好的。一個(gè)我親身經(jīng)歷的事例就是,當我看到一個(gè)新來(lái)的程序員在解決一個(gè)問(wèn)題的時(shí)候走到了錯誤的方向上時(shí),我提醒他,你可能走錯了,應該是另外那邊,并且我證明了給他看還有一個(gè)更為簡(jiǎn)單的方法,有。然而,這位程序員卻告訴我,“那是我的方法,我一定要把之走下去,不然我會(huì )非常難受”,于是,在三天后的代碼評審中,在經(jīng)過(guò)頑固地解釋以及一片質(zhì)疑聲中,他不得不采用了我最先告訴他的那個(gè)方法。
這些程序員,從來(lái)不會(huì )去想,也不會(huì )去找人討論還有沒(méi)有更好的方法,而是堅持自己的想法,那怕是條死路都一往直前,不撞南墻永不回頭。
10) 寫(xiě)“聰明”的代碼
他們寫(xiě)出來(lái)的代碼需要別的同事查看程序語(yǔ)言參考手冊,或是其程序的邏輯或是風(fēng)格看上去相當時(shí)髦,但卻非常難讀。代碼本應該簡(jiǎn)潔和易讀,而他們喜歡在代碼中表現自己,并嘗試另類(lèi)的東西,以顯示自己的才氣。是的,只有能力有問(wèn)題的程序員才需要借助這樣的顯示。
記得以前的一個(gè)經(jīng)歷,一位英語(yǔ)很不錯的程序員加入公司,本來(lái)對我們這些英語(yǔ)二把刀來(lái)說(shuō),我們喜歡看到的是簡(jiǎn)單和易讀的英文文檔,然后,那位老兄為了展示他的英語(yǔ)如何牛,使用了很多GRE中比較生僻的短語(yǔ)和詞匯。讓大家閱讀得很艱苦。最有諷刺意味的是,有一位native的美國人后來(lái)在其郵件中詢(xún)問(wèn)他某個(gè)單詞的意思。呵呵。
你是一個(gè)糟糕的程序員嗎?歡迎你分享你的經(jīng)歷。
沙發(fā)
 樓主| 發(fā)表于 2009-8-5 16:50:35 | 只看該作者
對照一下,發(fā)現自己的毛病還真不少
板凳
發(fā)表于 2009-8-5 18:24:01 | 只看該作者
‘聰明’的代碼舉例:

  1. #define unix 1
  2. main() {printf(&"\021%six\012\0"[unix], "have"[(unix)] + "fun" - 0x60);}
復制代碼
地板
發(fā)表于 2010-7-26 10:21:09 | 只看該作者
dign
地下室
發(fā)表于 2010-7-28 16:27:00 | 只看該作者
先mark
6
發(fā)表于 2011-1-9 22:44:05 | 只看該作者
學(xué)習學(xué)習謝謝
7
發(fā)表于 2011-1-13 23:39:54 | 只看該作者
學(xué)習了
8
發(fā)表于 2011-1-14 17:57:01 | 只看該作者
先mark一下
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页