回顧自己的Java學習經歷,從學校的課堂到現在每天的專案開發,一份路線路線圖浮出來,
其中有未做好的地方,也有自我感覺有用的方法,整理并分享出來,既是分享也是拋磚引玉,歡迎大家轉載和討論,
0.起步
一本書或一個教程,一個開發工具,Hello World,
初識Java一般都會從某本教材、課程或者教程開始,完成第0部,首先需要掌握:
-
Java基本語法
-
開發工具的基本使用:建立Java專案,敲入代碼,運行程式,當然,如何安裝Java開發環境也是必備技能,
-
與其他語言一樣,輸入經典的hello world,然后看到輸出,
起步沒有什么特別之處,如果有過其他語言的編程經驗這一關很容易通過,
推薦書籍
可以作為起步的書籍和教程很多,列舉一下自己覺得比較合適的幾本:
-
Java JDK 7學習筆記:這本書從基礎的配置講起,通俗易懂,
-
Head First Java(中文版):雖未讀過,但是head first的系列以示例講解非常形象著稱,而且附帶的示例代碼也很好用,
如果大家在學習程序中遇到什么問題,或者缺乏相關的學習資料,可查看我的公告欄獲取,有問題隨問隨答,還有我這段時間整理的一些Java學習手冊,面試題,開發工具,PDF檔案書籍教程,需要的話都可以免費分享給大家,
開發工具
開發工具與編程語言一樣,難分伯仲,所以這里不做比較,通常見到的會有Eclipse (MyEclipse),IntelliJ Idea,Netbeans,
-
Eclipse
-
這里指說一下自己常用的Eclipse,最新的Eclipse 4已支持Java8語法,
-
Eclipse的版本眾多,如果不涉及Eclipse插件開發,JavaEE版本(Eclipse IDE for Java EE Developers)就可以:支持J2EE和J2SE開發,
-
安裝Eclipse也很簡單:下載后解壓縮,直接運行即可,當然,這里也有很多坑,比如各種千奇百怪的問題,
總結
雖然只是路途中的第一步,但是好的開頭就是成功的一半,任何問題都是好問題,一定要記錄和總結,
1.新手
第一個程式,了解面向物件,學會看API,學會除錯,學會問問題,
當你經歷了第一步,把書上的例子都運行過一遍,接下來就會開始寫自己的第一個程式,
無論是課程實踐,還是作業安排的小任務,這些都會是一個好的開始,
那么必備的幾項知識我認為是有用的(實際上不會限于以下幾項):
-
了解面向物件:Java是面向物件語言,所以寫程式遇到的第一個問題和以后一直需要解決的問題就是“用面向物件的思想,把問題抽象成Java程式”,
-
學會看API:現成的例子會跑,但畢竟涵蓋的范圍有限,那么學會看JavaDoc,呼叫函式就是重要的一步,
-
學會除錯:學會除錯,可以在問問題前解決一大半的問題,這里說的除錯不僅是在Eclipse學會debug,還有如何用你的大腦在閱讀代碼時分析程式,找出問題,
-
學會問問題:這個不僅在寫代碼時很重要,在解決其他問題時一樣適用,
推薦書籍
-
Java編程思想 (第4版):經典,對面向物件的講解很到位,不足之處是中文的翻譯,技術詞語與現在通常的用法有所區別,需要注意,
-
JAVA核心技術(卷1),(卷2):對Java知識體系中常見的API和注意事項有講解,可根據自己的實際開發進行查閱,
-
UML和模式應用:經典面向物件教材,還可以熟悉UML的基本概念,
常用資源
-
JDK7 Document下載,在線API Document:在Eclipse中如果有網路,可以直接看到API的說明,離線時也可以將下載后的檔案關聯,
-
Java Debugging with Eclipse - Tutorial:Debugger是程式除錯的重要工具,學會使用它會對開發中的問題進行有效的跟蹤和分析,
-
如何提問:《提問的智慧》,讀完此文會對問題的質量和有效回復有很大提高,
總結
從第一個程式開始,就會遇到開發中的實際問題,所以,一些常用的概念和技能會在日后的開發程序中不斷磨練和提高,
勤奮和總結始終是手中的必備法寶,
2.工人
讀代碼,改bug,開始學設計,開發流程,
寫了若干小程式后,實際的專案開發會是這樣:
-
維護遺留代碼,解決bug
-
開發新功能
-
設計并開發專案中的某個小模塊
-
測驗:暫時不在此文的討論范圍之內,無相關經歷
那么接下來就是需要掌握的一些技能:
-
讀代碼:寫代碼容易,讀代碼難,尤其是那些讓你抓狂的代碼,這里還是有一些技巧和規律的,也有相關的工具可以輔助,
-
改bug:熟悉業務流程,了解邏輯關系,常見的Java錯誤,這些都是你作業的好幫手,
-
設計:如何從頭開始設計一個功能模塊?涉及哪些相關知識,有什么經驗是可以借鑒的?回答這些問題是設計作業的開始,
-
開發流程:每個公司或專案都有自己的開發流程,熟悉這些流程和工具是必備技能,
推薦書籍
-
程式員的思維修煉:雖然與Java無直接關系,但其中的解決問題思路絕對管用,
-
代碼閱讀方法與實踐:此書雖然以Linux開源專案為示例,但其中的經驗和思路可借鑒,
-
設計:這個話題比較大,待思考細分后再分專題推薦和討論,
-
開發流程:目前比較流行的開發流程,常用的專案管理、原始碼管理、Code Review等相關工具介紹,
總結
這個階段需要稍微慢下來,對自己的作業進行思考和梳理,找出自己的優勢或不足,相對應地進行鞏固和提高,
因為涉及的事情、知識會有較大的擴展,因此需要學習的東西會不僅限于技術開發,
保持積極的心態和勤奮的態度,繼續下一個階段,
3.技術骨干
業務,設計模式,架構,調優,用戶體驗,
如果此時還是專注于技術,那么可能會繼續下面的修煉,
這個階段代碼量和專案已經到了一個階段,所以可能會遇到負責某個產品開發,或者專注架構設計,
平常考慮的問題可能會是:如何確保產品按時上線,架構合理,少出bug,如何在不斷變化的需求中,確保開發進度和軟體質量,
那么接下來就是一些關注點:
-
業務:之所以把它放到第一位,原因很簡單——這是企業的核心,
-
設計模式、架構:從開發程式,到開發模塊,再到開發產品,這種轉變的結果,就是需要從更高的角度去看待開發這件事情,合理、可靠、可擴展的架構,是確保產品生根和發展的重要基礎,
-
調優:產品不光是寫代碼,更重要的是后期的維護和擴充,調優、解決線上的故障,這些都是必須面對的問題,
-
用戶體驗:很重要,但超出了我的討論能力范圍,你懂得:)
實際情況是,自己雖然看到了一些,但個人經歷著實沒有辦法總結出好的經驗,
不過我還是一直在努力和學習,
4.自由的開發者
第一個產品,
一個Idea,一個產品,一個成功?!
這時你可不需要對某個公司或老板負責,你的產品就是你的baby,你賴以生存的依據,
除了需要過硬的技術,還有就是一種堅持和決心,
也許不是創業,也許只是自由職業,但同樣會為自己的產品和生存負責,
扯了這么多,其實我是一名普通的Java程式員,希望這些文字能夠對自己有激勵和總結,也能對喜歡Java的朋友有所幫助,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/225949.html
標籤:Java
上一篇:網路編程之 URL 下載網路資源
