程序員如何保持優(yōu)秀
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
1. 小范圍的選擇一些有用技術(shù),透徹的學習它們,擁抱它們。然后不斷的擴展這個范圍。 2. 理解各種數(shù)據(jù)結(jié)構(gòu)的優(yōu)點和缺點,包括它們在內(nèi)存中和在硬盤上的各自表現(xiàn)。 3. 理解各種算法的優(yōu)點和缺點。 4. 了解你的工作領(lǐng)域。關(guān)上電腦,去做你的用戶們在做的事。 5. 有準備,有愿望,有能力在任何時候投入到多種技術(shù)層面中。你必須知道表象下的技術(shù)原理。在“各個技術(shù)層面的掌握程度”和“編程能力”上有著密切的聯(lián)系。 6. 發(fā)揮你的想象力。永遠都要問,“有更好的方法嗎?”跳出常規(guī)思維約束。最好的解決方案也許還沒有被發(fā)現(xiàn)。 7. 優(yōu)秀程序員:我優(yōu)化代碼。更優(yōu)秀程序員:我設(shè)計數(shù)據(jù)。優(yōu)選秀程序員:他們的不同之處是什么? 8. 正確的構(gòu)造你的數(shù)據(jù)。任何的缺陷都將造成你的代碼里無盡的技術(shù)債務(wù)。 9. 正確的命名事物。使用“動詞-形容詞-名詞”格式來命名程序和函數(shù)。變量名要足夠長,盡量短,有意義。如果其他程序員不能夠理解你的代碼,說明你寫的不夠清楚。在大多數(shù)情況下,針對下一個程序員而編碼要比針對環(huán)境而編碼重要的多。 10. 把分析和編程分離開做。它們不是同類的事物,需要不同類型的勞力資源,需要在完全不同的時間和地點分開做。如果同時做它們,你一樣都做不好。(我喜歡在一天的末尾做不涉及技術(shù)的分析,而在第二天早上進行編程。) 11. 永遠不要圖省事走近道。永遠不要把相同的代碼部署兩次。永遠不要把一個變量命名成另一個變量名的一部分。也許你不明白這些規(guī)則,也許你要辯解。但如果你是 遵守著這樣做的,這些規(guī)則就會約束你正確的構(gòu)造你的程序。圖省事的做法是讓那些低等級的程序員永遠停留在低等級的原因。 12. 學習如何測評程序性能。你會驚奇的發(fā)現(xiàn)從中能學到很多之外的知識。 13. 學會區(qū)別對待問題細節(jié)和問題后果。問題細節(jié)不會導致太大的差別,而問題后果能導致世界滅亡。只關(guān)注后果。 14. 密切關(guān)注你的用戶/客戶/管理人員。幫助他們認清楚他們的“what”,這比幫助他們明白他們的“how”要重要的多。 15. 寫一個框架,不論你是否打算用它。你將從中學到從其它途徑中學不到的東西。 16. 把你知道的東西教給他人——通過口口交流或通過寫作。最終這將成為教育自己的機會。 17. 永遠要對你的客戶/用戶說“Yes”,即使在你不確定的情況下。90%的情況下,你會最終找到方法實現(xiàn)它。10%的機會,你將會去向他們道歉。這是重要的個人成長中付出的一點小代價。 18. 尋找別人的做出神奇的事情但卻一灘糊涂的代碼。重構(gòu)它。然后丟掉它,并發(fā)誓自己永遠不要犯他們犯下的相同錯誤。(這樣的程序你會發(fā)現(xiàn)很多。) 19. 數(shù)據(jù)永遠 > 理論或觀點。通過開發(fā)東西來學習數(shù)據(jù)。 20. 有可能的話,開創(chuàng)自己的業(yè)務(wù)(服務(wù)或產(chǎn)品)。你將從中學到很多你做雇員永遠學不到的關(guān)于編程的知識。 [本文英文原文鏈接:How to be an Excellent Programmer for Many Years ] 該文章在 2012/10/26 12:15:34 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |