1、語法。
2、基礎理論(數學、數據結構、算法等)。
3、設計方法(編程原則、設計模式、框架設計等)。
4、庫(核心、基礎、UI、擴展、遊戲引擎等)。
5、計算機相關(操作系統、網絡、圖形學等)。
6、領域知識(遊戲設計、網站設計等)。
7、開發工具(編輯器、IDE、自動部署等)。
8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。
最普遍也是最重要的能力:創造力。努力分析並理解好做什麽以及怎麽做。要知道上面那些東西壹開始都是不存在的。
具體方法包括:
1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如我學Java讀的《Java編程思想》,練習題做過壹點,然後學ActionScript就沒讀過書,只讀過Adobe官方文檔《ActionScript 3.0編程》。
2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才註意到,這時候最好做個筆記,雖然我從沒看過我的筆記。
3、做壹個自己感興趣或熟悉的小項目,比如我就以黑白棋遊戲作為多個語言的試水項目,壹樣的邏輯,便於把關註點放在語言特點上。
4、自己動手豐衣足食。廚師有菜譜,程序員可沒菜譜。比如我做遊戲,最關鍵的遊戲編程知識全部是動手學出來的,很少有專門針對某個業務領域(如遊戲)的編程書籍,要麽是入門書,要麽是模式書(如算法)、理論書(圖形學),很少有書籍教妳如何開發壹個45度角地圖系統加編輯器的,全靠自己思考,以及看前人的代碼,需要時找些網絡資料。關鍵是,可以培養最重要的創造力。
對於算法和設計模式,可以研讀下,但是關鍵還是靠平時如何使用了。新手勉強不來的。
項目管理方面的,就得靠工作經驗了,多思考多提意見不要只走流程。