程序員的修煉

一. 好的編程習慣 


1.寫程序前打個草稿可以在心裏,最好在紙上:目的要從整體上考慮程序的實現。 
如果公司採用建模的方式,有建模工具(rose ,visio )那是最好不過的了。 
2.注意休息,不要浪費自已的休息時間,用去了自已的時間不但會寫出的代碼因爲注意力不集中而會常常出現代碼的質量有問題,邏輯常出錯    
3.要善於收集相關的專業開發上的資料,以便以後能更快更好的解決問題目。提倡公司能提供內部知識勾通的工具(如知識論壇,內部即時聊天器);提倡公司內部有技術資料的共享庫,提高解決問題的能力. 
4.提高對所寫的模塊的相關全局把握能力,在寫程序中要最好先詳細設計後再發布. 

5.要學會與他人溝通如非工程師,學會溝通的不同方式,提高溝通的效率。


二.不同的目標不同的知識重點

 

(一)目標:程序員 


職責:根據詳細設計文檔,或根據高級程序員的設計進行相關的開發。

1.要學會看相關的需求文檔及詳細設計文檔。 

注意:你必須要通過閱讀這些文檔把握住其中的重點,關鍵點,相關易漏點

2.如果公司裏會用UML來相互的溝通,這時你必須要深刻理解UML 的相關知識,一定要注意千萬不要對UML圖一知半解的情況下,就着寫代碼,那樣會錯的很慘。 
3.學好對應的計算機語言的基礎知識,如:程序的語法,關鍵點,易錯點,對應的出錯如何出理,如何才能把對就的程序寫的鍵壯一些
4.如果用到數據庫的內容,在學會sql的前提下,儘量學會數據庫原理中
的相關sql內容, 當然爲了提高查詢的能力也可以增加一點 
5.如果用到面向對像的語言那最好學點相關的設計模式,這樣的可以增加代碼的擴展性,及可維護性等,能夠理解詳細設計中的模塊間的設計原則這個也可以提高對模塊的內容編寫的正確性. 
6.你一定要學會公司內部的通用的編碼規範。 
7.學習如何做單元測試比較好.必須要熟悉相關的單元測試工具. 
8.要不斷的對相關知識進行總結,同時也要必須把相關的資料進行整理和學習,在學習過後的資料中你可以在遇到問題時更快的找到問題的答題。
9.在開發你必須記錄下大家常出錯的地方及大家的解決方法,這個對你以後錯誤的避免有很大的作用. 

10.在寫代碼中時必須把上面寫過代碼記在心裏,這樣就可以養成習慣,提高代碼的速度 

11.對數據庫操作時,要儘量共用Connection,並小用以減少Connection的數量 


(二)目標:高級程序員 


職責:對需求文檔進行系統相關模塊的詳細設計,並負責對程序員的支持及指導和相關核心模塊的編寫 ,所以不但要學會相關程序員要的知識,同時還要學會難度比較大的知識。 

1.程序員的知識,如設計模式你一定要不是簡單的看要懂,你還要應用設計模式對相應的模塊進行相關的詳細設計。
2.要學好相關詳細設計的工具做的有的放矢,這樣可以更好提高對自已的設計的表達

3.爲了提高系統的運行效率會運用到 


a. 數據庫的表結構如何建才能使應用的要查詢sql  更快。這時可要認真認真的學習一樣數據庫原理,千萬不要以爲採用數據庫的範式越高系統的運行效率會越好,有時候適當的表冗餘可以大幅度的提高系統的查詢效率.   同時適當的建索引,視圖,存儲過程也是提高系統對數據庫的查詢的效率之一。  
b.   學習多線程的編程,不過千萬不要以爲線程數越多運行的速度會越快,一般線程的數量超過一定的數量後,系統的運行速度反而會變慢。爲了應用好多線程,操作系統這本書也要關於同步及相關進程和線程的知識必不可少。 

c.   設計好的一程序的好的算法,可要比起解一道同一複雜的數學題,要難的多,所以要在學好的相關數學的知識上(如線性代數,離散數學,概率論,數理統計)。更要深入計算方法,及數據結構,讓數學問題用計算機來解決。 

4.爲了讓系統設計的更加的可擴展性,穩定性,設計模式和軟件工程可是不能少的東西。所以必須把設計模式用於模式級的設計.  


5. 如果公司採用的是Rose (UML)進行設計的話,你對於UML  的理解一定要非常的準確,同時你要跟小組中的程序之間進行充分的UML概念上及對應用例圖,類型圖,對象圖,協作圖的意思多寫一些註釋加深大家對你的設計上的理解。 


(三)目標:系統分析員 


職責:做好與客戶之間的關係,同時對客戶的需求要正確的理解,要選擇合適的開發技術,同時做好與客戶間溝通交流,學會說服對方。 
1.學會對客戶的溝通:要正確理解客戶的需求同時要保證相互之間的溝通順暢。 
2.對了解來的需求要能用筆正確的描述下來,並能很好的傳敘給其他人。這時要學會用如ROSE 等的軟件建模的工具。和powerdesign等的數據庫建模工具。和相關的UML,數據流程圖及相關的內容的知識。
3.不但要全面的瞭解客戶的需求而且還要對需求進行未來的可能的改變要有相當多的瞭解。 
4.全面的瞭解客戶的需求後,要選擇合適的相關技術用於開發,: 這時要學習各種知識 
a. 選擇數據庫:db2,infomix ,oracle ,sql server,mysql 的優缺點,可以從中選擇最適合的數據庫及理由。 
b. 設計數據庫:要紮實在數據庫的理論(數據庫原理,數據庫系統設計)及相關數據庫設計經驗,要儘量多的分析過去數據庫設計,分析這麼設計數據庫的好處。這時可能要用到  powerdesign等工具。  
c. 寫需求說明文檔和概要設計文檔,同時要學會要分析相關需求說明文檔的需要的內容的相關知識,如人員工時的計算方法, 一般會用 project  來分析相關的項目的內容。 
d. 選擇合適的程序語言及相關的架構,一般主流的架構是 J2EE和.net的相應的優點及它們之間的結合,如採用soap  ,xml進行相關的結合,或用java-com 橋 進行相關的功能的調用。和它們之間的相關語言優缺點

e. 還要根據b/s,c/s 結構對開發的網絡影響的相關內容採取選擇。 


5. 學會說服對方,畢竟客戶都不是個個是軟件專家,他們的選擇有時未必是正確的所以學會說服對方,是系統分析員必備的能力條件.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章