1)情緒化的思維
如果你開(kāi)始使用不同顏色的眼光來(lái)看待這個(gè)世界的話,那么你可能會(huì)成為一個(gè)很糟糕的程序員。情緒化的思維或態(tài)度很有可能會(huì)把自己變成一個(gè)怪物。相信你經(jīng)常可以看到很多很糟糕的程序會(huì)使用下面的這些語(yǔ)句:
我的程序不可能有這種問(wèn)題。
Java就是shit。
我最恨的就是使用UML做設(shè)計(jì)。
需求怎么老在變,沒(méi)辦干了。
受不了這些人,他們到底懂不懂啊。
…… ……
這些帶著情緒化的思維和態(tài)度,不但可以讓你成為一個(gè)很糟糕的程序員,甚至可以影響你的前途。因?yàn),情緒化通常都是魔鬼,會(huì)讓你做出錯(cuò)誤的判斷和決定,錯(cuò)誤碼率的判斷和決定直接決定了你的人生。
2)懷疑別人
糟糕的程序總是說(shuō):“我的代碼一定是正確的,我懷疑編譯器有問(wèn)題”,“我這應(yīng)該沒(méi)有問(wèn)題吧,STL庫(kù)怎么這么難用啊”。我曾經(jīng)見(jiàn)過(guò)有程序員這樣使用STL類(lèi):map
某些時(shí)候,過(guò)早的下結(jié)論是一個(gè)很不好的習(xí)慣,任何事情都有其原因,只有知道了原因,你才能知道是誰(shuí)的問(wèn)題。一般來(lái)說(shuō),總是自己出的問(wèn)題。
3)過(guò)多關(guān)注實(shí)現(xiàn),陷入問(wèn)題細(xì)節(jié)
有些時(shí)候,當(dāng)我們面對(duì)一個(gè)問(wèn)題或是一個(gè)需求的時(shí)候,糟糕的程序員總是會(huì)馬上去找一個(gè)解決方案或是實(shí)現(xiàn),這是一個(gè)很不好的習(xí)慣。設(shè)計(jì)模式告訴我們,“喜歡接口,而不是實(shí)現(xiàn)”就是告訴我們,認(rèn)清問(wèn)題的本質(zhì)和特性要比如何實(shí)現(xiàn)更重要。
對(duì)于一個(gè)客戶的問(wèn)題來(lái)說(shuō),首先應(yīng)該想到的是如何先讓用戶正常工作,如何恢復(fù)正在“流血”的系統(tǒng),而不是把用戶放在一邊而去分析問(wèn)題的原因和解決方案。
對(duì)于解決一個(gè)bug來(lái)說(shuō),重現(xiàn)bug,了解原來(lái)程序的意圖是首先重要的事,而不是馬上去修改代碼,否則必然會(huì)引入更多的BUG。
對(duì)于一個(gè)需求來(lái)說(shuō),我們需要了解的需求后面的商業(yè)背景,use case和真實(shí)意圖,而不是去討論如何實(shí)現(xiàn)。只有了解了用戶的真實(shí)意圖,實(shí)際使用的方式和案例,你才能真正如果去做設(shè)計(jì)。
糟糕的程序總是容易陷入細(xì)節(jié),爭(zhēng)論于如何實(shí)現(xiàn)和實(shí)現(xiàn)難題,以及問(wèn)題的根本原因,而忽略了比這些更重要的東西。只有看懂了整個(gè)地圖,我們才知道要怎么去走。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |