本系列文章目錄:http://www.cnblogs.com/lzhdim/archive/2010/06/10/1755376.html
此系列文章目錄:http://www.cnblogs.com/lzhdim/archive/2010/06/10/1755418.html
第1章 軟體工程師指南
1.4、經驗提升的方法
對於項目團隊來說,成員經驗提升的方法,一部分來自自學,另一部分可以由項目團隊內部的專案經理組織的團隊學習和討論的會議進行。
但是,個人認為,自學是很大的一部分。通過自學,你學到的才是真正理解了的知識,才是真正充實了自己的知識,才是真正符合自己興趣的內容。
不過,僅僅通過自學是不夠的,這樣只能是培養出團隊的英雄,而不是一個相對平衡的團隊。所以,這時候項目團隊內部的交流就派上用場了。通過交流,可以將團隊成員間的差距縮小,進而將團隊的核心競爭力提高。
對於自學,可以通過閱讀相關書籍,或者網路上的資料來進行。這部分學習的時間,可以在項目實現之餘,或者自己找時間去學習了,因為工作時間相對來說是限制了學習的時間。對於交流,除了項目團隊內部的交流會議之外,專案經理可以使用XP極限編程的方式來直接的使某幾個人的編程風格和水平的差距進行縮小。當然了,也可以通過部落格、提問等方式與網路上的友人進行交流,這樣既增長了自己的見識,也使自己的朋友圈子擴大,同時也會找到志同道合的友人,且能夠在實際工作中協助自己的友人。
1.5、與其他角色的溝通
程式員與團隊的其他角色的溝通還是比較多的。
1)一部分是開發經理,由他來進行工作的劃分;一部分是軟體設計師,由他來指導和編寫代碼;一部分是需求分析師,由他來確定軟體功能實現是否符合使用者的需求;一部分是測試人員,由他們反饋回來軟體功能的測試的結果,確定是否要更改代碼以修訂BUG。
2)在溝通過程中,溝通是需要技巧的。因為程式員是代碼的直接編寫者,代碼的品質、效率、是否符合需求都由他們來實現。所以,在系統功能與使用者需求的實現差異上就得看程式員是否真正理解了需求。其它的,就是與團隊其它成員的協作部分了。
總的來說,程式員在團隊中與其他成員的溝通還是比較多的。但是,一般程式員做好自己的本職工作就可以了,這個已經包含了溝通的技巧。
1.6、應閱讀的書籍
1)文法(入門編程系列)
對於程式員來說,文法是程式設計語言的根本,必須做到精通。當然,語言基本都是相通的,這個只要將物件導向等編程思想容納到代碼裡,估計就沒問題了。
2)資料結構
資料結構是一門必修的課程,因為資料結構代表了資料存放區的方式以及效率問題。每門語言都有自己的資料結構方面的資料,建議做到熟悉程度,這樣在實際工作中能夠與大家的程度差別不大即可。
3)進階編程系列(參考書)
進階編程系列,可以做到熟悉即可,當做參考書來進行閱讀。因為程式員本身不需要很深入的層面以及很高的架構知識。
4)線程
現在多線程的程式還是比較多的,尤其是Intel正在積極推廣多線程程式的應用。而且,對於一個業務網站來說就是一個典型的例子。這部分可以在實際工作中進行實踐。對於程式員來說。做到熟悉還是挺重要的。
5)網路
網路編程對於大部分的公司業務來說還是比較多的。特別是遊戲編程方面,需要用到這部分的知識。對於一般的公司,估計實踐的機會比較少。
6)架構
程式員必須對現在正在使用的架構結構做到熟悉,才能更好的發揮出架構的優越性。不過貌似架構部分的書籍還是部分語言有部分語言比較少。這個就得看架構師的水平了。
7)設計模式
程式員對常用的設計模式的書籍應該進行閱讀,以瞭解架構師在現有的軟體系統中所使用到的設計模式。或者應該召開會議,以講解系統中使用到的設計模式。程式員對於設計模式只需要做到閱讀即可。
8)軟體工程
軟體工程對於程式員來說是必修的課程。但是深入程度就得看個人的修行程度了。軟體工程還是得看,以理解專案經理在實際過程中所應用到的內容,提高項目團隊的綜合水平。
1.7、應銘記的話
1)要做單元測試(中型及以上的系統);
2)一定要按照規範來編寫代碼(保證團隊的規範性);
3)要時不時最佳化代碼(提高代碼品質和效率的方法);
4)要補充其它語言的編程思想;