基本内容
從理論上來說,需要廣泛的閱讀,了解算法的博大精深和計算機的基本理論。 從實踐上來說,需要有廣泛的練習。 總結之有以下幾方面: (1)數學基礎 、從計算機發展和應用的曆史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。 (2)邏輯思維能力的培養 、學程序設計要有一定的邏輯思維能力,“思維能力”的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反複的實踐、觀察、分析、比較、總結中逐漸地積累。 (3)選擇一種合适的入門語言、 面對各種各樣的語言。程序設計工具不外乎如下幾類: 1.本地開發應用軟件開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;數據庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2.跨平台開發開發工具如 Java 等。
紮實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟件。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本算法的時候可能也會束手無策。
豐富的想象力
不要拘泥于固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試别人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
最簡單的是最好的
這也許是所有科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,隻有簡單方案不能滿足要求時再考慮複雜的方案。
不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,而且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題竟然可以迎刃而解。
對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使隻能知道答案的一小部分也值得我們去付出。隻要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
多與别人交流
三人行必有我師,也許在一次和别人不經意的談話中,就可以迸出靈感的火花。多上上網,看看别人對同一問題的看法,會給你很大的啟發。
良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變量的命名規則要始終保持一緻。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加注釋了,如果注釋和代碼不一緻,那就更加糟糕。
韌性和毅力
這也許是"高手"和一般程序員最大的區别。A good programming is 99 weat and 1?ffee。高手們并不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以内的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。