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