程序員必看的一篇文章

做爲程序員咱們應該知道什麼,這是很重要的。不知不覺作軟件已經作了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱本身是高手,由於和我心目中真正的高手們比起來,還差的太遠。世界上並無成爲高手的捷徑,但一些基本原則是能夠遵循的。程序員

1. 紮實的基礎。算法

數據結構、離散數學、編譯原理,這些是全部計算機科學的基礎,若是不掌握他們,很難寫出高水平的程序。據個人觀察,學計算機專業的人比學其餘專業的人更能寫出高質量的軟件。程序人人都會寫,但當你發現寫到必定程度很難再提升的時候,就應該想一想是否是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即便你再精通OOP,遇到一些基本算法的時候可能也會一籌莫展。編程

2. 豐富的想象力。數據結構

不要拘泥於固定的思惟方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是創建在豐富的知識的基礎上,除計算機之外,多涉獵其餘的學科,好比天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。ide

3. 最簡單的是最好的。測試

這也許是全部科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裏不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能知足要求時再考慮複雜的方案。遊戲

4. 不鑽牛角尖。數學

當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,並且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就獲得了充分的休息。當從新開始工做的時候,我會發現那些難題如今居然能夠迎刃而解。it

5. 對答案的渴求。編譯

人類天然科學的發展史就是一個渴求獲得答案的過程,即便只能知道答案的一小部分也值得咱們去付出。只要你堅決信念,必定要找到問題的答案,你纔會付出精力去探索,即便最後沒有獲得答案,在過程當中你也會學到不少東西。

6. 多與別人交流。

三人行必有我師,也許在一次和別人不經意的談話中,就能夠迸出靈感的火花。多上上網,看看別人對同一問題的見解,會給你很大的啓發。

7. 良好的編程風格。

注意養成良好的習慣,代碼的縮進編排,變量的命名規則要始終保持一致。你們都知道如何排除代碼中錯誤,卻每每忽視了對註釋的排錯。註釋是程序的一個重要組成部分,它可使你的代碼更容易理解,而若是代碼已經清楚地表達了你的思想,就沒必要再加註釋了,若是註釋和代碼不一致,那就更加糟糕。

8. 韌性和毅力。

這也許是"高手"和通常程序員最大的區別。A good programming is 99 weat and 1ffee。高手們並非天才,他們是在無數個日日夜夜中磨練出來的。成功能給咱們帶來無比的喜悅,但過程倒是無比的枯燥乏味。你不妨作個測試,找個10000之內的素數表,把它們全都抄下來,而後再檢查三遍,若是可以不間斷地完成這一工做,你就能夠知足這一條。

這些是我這幾年程序員生涯的一點體會,但願可以給你們有所幫助。

轉載:

相關文章
相關標籤/搜索