posts - 13,comments - 19,trackbacks - 0
          可以總結為兩大關鍵點:一是養成好的編程習慣,二是針對自已的工作提高自已的知識含量.

          一.    好的編程習慣

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

           三.    訓練的方法:

          1.       計劃行事:

          (1 設定你的未來的學習目標

          a.         未來要成為什么樣的人(主要是工作角色,如程序員,高級程序員,系統分析員)

          b.         你近期要成為什么樣的人(當前的工作職責是什么,如果只寫代碼是程序員等)

          c.         要完成近期的工作所必須要知識(如java 程序員,要學習java 基礎知識,等),關鍵的知識(如java中關鍵要用到的知識有,面向對象等),易錯的知識(比較原來的已有知識進行合對)

          (2      設定你的學習目標后,并要有針對性的對應目標設定學習時間的按排及學習路線。并直觀的記錄在案,以便以后隨時核對,

          (3      常常抽出一定的時間認真核對計劃的完成情況,如果沒有按時完成計劃的內容。分析原因,盡量想法趕上計劃內容如果存認是計劃有誤,要認真總結計劃失敗出錯的原因,對你的未來有很大的幫助。

          注意:不要對計劃的按排過于樂觀 要盡量的考慮實現中的各種情況,同時適當按排一些緩沖時間,以便真正能按照計劃行事,以提高按計劃行事信心,同時這能有效避免出現計劃中途成沒有意義的東西。

          2.  針對工作角色對自已的能力進行培養和知識進行學習。

          關鍵的能力:

           (1. 記憶能力:要學會把自已的寫的代碼和改的代碼記的清清楚楚。要能提高效率。

           (2. 邏輯思維能力:要多多的看別人的復雜邏輯的代碼,分析復雜邏輯的運算。

           (3.全局能力: 不要再范改了東,卻西出錯。(構造軟件這個很重要)

           (4.學習能力: 并不是每個項目都你是所熟悉的項目的,并不是每個項目中的知識你都知道,要掌握最新的技術和最有用的知識,是最關鍵的。要學會,提高能力,這個東西是永遠對自己有好處的。

           (5. 溝通能力; 學會幽默,學會講故事,學會交朋友,學會禮節。

           (6.自制能力:如果一個人不能自制那這個人以后,不會有很大成果,即使很大機會發展起了,可是因為沒有自制能力很容易被人利用,或自己明明知道怎么做,可是就是不能控制自己的欲望.而常做下無法挽回在錯誤.

           四.    例:java 程序員的知識結構及學習流程:

            (一) 學習相關工作必須的知識

             1.Java 語言的基礎(推薦書:《 java 編程思想》)

          關鍵:

          (1.     java 面向對象及對應的程序現實

          (2.     java  多線程

          (3.     java  網絡 socket

          (4.     應用界面

             2.學會用智能集成開發工具jbuilder,eclipse等一種,根據資料里的內容,自已寫與例程類似的代碼,但注意不要直接抄它,一定要自已寫。同時最好寫到一個工程中以便對比。

             3.如果用b/s結構要學習jsp的知識(推薦書:《 JSP 2.0技術手冊 》)

          關鍵:

          (1. 界面處理:

          a . HTML——超文本標志語言:用于顯示頁面如:超文本鏈接, 表格,各種標志等。

          b. CSS———層疊樣式表:控制正文外觀的一組格式.用于美化HTML頁面。

          c. javaScript—嵌入HTML頁面瀏覽器來執行的腳本語言:讓頁面可以根據用戶的操作或事先設置等在客戶端進行動態變化,而且不需傳回服務器。比如: 對表單輸入的正確性做客戶端驗證.

          (2.jsp元素:如java代碼寫法,對應標志---jsp:include,jsp:useBean,jsp:setProperty,

          jsp:getProperty等.jsp的幾大對

           (3.  javaBean及其在jsp 中的調用和相關應用.

           (4. 其他技術:

            a. 如何操作數據庫—用jdbc(可能要補充一些數據庫的知識,如oracle ,sql server,

          包括如何寫高效率的查詢sql,存儲過程等) ,

          b. 如何發送email—用javaMail,

          c. 如何學習如何用實現文件的上傳下載,如果操作文件,

          d. 如何操作xml  --用jdom 及 jaxp(這時有必要學習一下xml 的語法如 dtd等)

          e. 如何遠程方法調用—用 rmi

          f. 如何進行消息服務 ---用 jms

           5.再有些公司會用到 J2EE 的架構如 EJB 作為業務邏輯.

          (1.EJB中要分清

          (2. struts  MVC

          (3. Hibernate 操作數據庫

           6.最好學習一下UML

          學用Rose建模

           五 忠告:

             1. 不要以為自已很差,要明白每個人都是這樣一步一個腳印的走過來的。(我們要有信心)

          告訴自已:比爾蓋次,也是同我們一樣,出生時也是巴掌大.

          我們只有多學,多練才可能有出路.

             2. 不要以為自已學的多就很強,世界上的高手多的是,問問自己,你每小時可以寫幾行代碼,代碼一次寫下來有多少錯誤,如果你一次寫下沒有錯誤,一小時可以寫1000代碼,那才是真正的高手.

             3 . 不要以為自已沒有項目做就會落后于他人,人家是參加了很多項目,可是人家只是項目中的一個小角色,如果我們在空時能都寫一些開源的項目,或自己開發和設計一些有用的開源的項目,水平及能力很快就上來了.

             4.   不要以為自己做過很多的項目就很了不起了。你能說你做的項目中,你能體會整個項目為什么要這樣設計,為什么要這樣開發嗎?相信絕大多數是否定的回答。那還不如多學習一些已做的項目,了解他們為什么要這么做,為什么這么開發,多看一下它們的項目的文檔,我們能明白很多,這樣把他們的經驗放于你未來可能要接手的項目,這樣不是更好嗎?

             5. 不要以為自己的學習能力很牛,你能快速閱讀一本書又能快速掌握它的內容嗎

          posted on 2008-12-11 19:12 南山隱士 閱讀(266) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 德格县| 镇康县| 吴旗县| 南阳市| 商洛市| 万州区| 靖宇县| 永川市| 彭州市| 元朗区| 诏安县| 延川县| 前郭尔| 全南县| 光山县| 中山市| 自贡市| 平果县| 巴中市| 福建省| 景德镇市| 会东县| 环江| 阳江市| 玛曲县| 黔西县| 上饶县| 锡林郭勒盟| 桂阳县| 准格尔旗| 宁安市| 专栏| 天柱县| 绥滨县| 新邵县| 二手房| 阜新市| 温州市| 佛冈县| 泌阳县| 合江县|