第一篇:如何成為一名優(yōu)秀的Java程序員
www.tmdps.cn
如何成為一名優(yōu)秀的Java程序員
為什么越來越多的90后偏愛互聯(lián)網(wǎng)行業(yè)呢?他們的擇業(yè)觀與80后有哪些區(qū)別呢?
在公司內(nèi)部,90后更偏愛自由開放的企業(yè)文化。從調(diào)查結(jié)果來看,有73%的受訪者贊同“開放自由、相對(duì)寬松”是最理想的企業(yè)文化,僅有13%的受訪者可以接受“嚴(yán)格守序、集體高于個(gè)人的傳統(tǒng)企業(yè)文化”。在追求自由的風(fēng)格影響下,大部分90后都明確表示反感辦公室八卦和職場潛規(guī)則。
每一代人都有自己的擇業(yè)觀——70后追求穩(wěn)定“鐵飯碗”;80后奉行實(shí)用主義,看重職業(yè)發(fā)展;而90后愛高薪更愛自由。波士頓咨詢公司的最新分析報(bào)告顯示,2014年互聯(lián)網(wǎng)行業(yè)在中國直接創(chuàng)造了170萬個(gè)就業(yè)機(jī)會(huì)。隨著行業(yè)的進(jìn)一步發(fā)展,預(yù)計(jì)2020年有望直接為約350萬人帶來就業(yè)機(jī)會(huì)。短短幾年間,蓬勃發(fā)展的互聯(lián)網(wǎng)公司已經(jīng)成為深受90后青睞的就業(yè)選擇。很多90后之所以熱衷在互聯(lián)網(wǎng)企業(yè)就業(yè),與行業(yè)廣闊的發(fā)展空間、人性化的管理風(fēng)格以及誘人的薪酬福利有著密切關(guān)系。
四川是旅游的天堂,無法拒絕她火辣辣的美食,無法拒絕她驚艷的自然風(fēng)光,更無法拒絕她的古蜀文化。中國作為全球首屈一指的大國,IT培訓(xùn)缺口日益增大。從國家到地方,政府紛紛鼓勵(lì)年輕人學(xué)習(xí)一技之長改變命運(yùn),成為很多人的首選。那么,2017IT培訓(xùn)前景如何?是不是真如傳言中所說的高薪職業(yè)永不失業(yè)呢?
不要被小編的慷慨陳詞所打動(dòng)了,和你們說好做彼此的天使,所以今天不選擇套路你們。好了,言歸正傳,來看看小編送上的IT培訓(xùn)福利是否能打動(dòng)你吧~今天小編想給大家扒一扒大家感興趣的IT培訓(xùn)!
www.tmdps.cn
我們認(rèn)為想要成為一個(gè)合格的Java程序員,必須需要牢固的基礎(chǔ),這樣在未來接觸新的知識(shí)的時(shí)候,才能快速吸收,基礎(chǔ)不牢固的程序員,隨時(shí)都會(huì)被新的知識(shí)和技術(shù)所淘汰,下盤不穩(wěn)風(fēng)一吹就倒,那么作為一個(gè)合格的Java軟件工程師需要怎樣的素質(zhì)?
一,良好的編程能力。編程能力直接決定了項(xiàng)目開發(fā)的效率。這要求軟件工程師至少精通一門編程語言,熟悉它的基本語法、技術(shù)特點(diǎn)和API(應(yīng)用程序接口)。
二,自覺的規(guī)范意識(shí)和團(tuán)隊(duì)精神。隨著軟件項(xiàng)目規(guī)模越來越大,僅僅依靠個(gè)人力量已經(jīng)無法完成工作,因此,現(xiàn)代軟件企業(yè)越來越重視團(tuán)隊(duì)精神。一般來講,軟件企業(yè)中的程序員可以分為兩種,一種是“游擊隊(duì)員”,他們可能對(duì)編程工具很熟,能力很強(qiáng),編寫的程序簡潔高效,卻缺乏規(guī)范和合作的觀念;另一種程序員個(gè)人能力不一定很強(qiáng),但程序較為規(guī)范,合作意識(shí)良好。第二種人更適合現(xiàn)代軟件企業(yè)發(fā)展的潮流。對(duì)于基礎(chǔ)軟件工程師來說,他們在企業(yè)中的角色決定了他們必須具有良好的規(guī)范意識(shí)和團(tuán)隊(duì)精神。
三,認(rèn)識(shí)和運(yùn)用數(shù)據(jù)庫的能力。信息以數(shù)據(jù)為中心,因此與數(shù)據(jù)庫的交互是必不可少的,了解數(shù)據(jù)庫的操作和編程是軟件工程師需要具備的基本素質(zhì)之一。四,較強(qiáng)的英語閱讀和寫作能力。程序世界的主導(dǎo)語言是英文,編寫程序開發(fā)文檔和開發(fā)工具幫助文件離不開英文,了解業(yè)界的新動(dòng)向、閱讀技術(shù)文章離不開英文,與編程高手交流、發(fā)布幫助請(qǐng)求同樣也離不開英文。作為基礎(chǔ)軟件工程師,具有一定的英語基礎(chǔ)對(duì)于提升自身的學(xué)習(xí)和工作能力極有幫助。
www.tmdps.cn
五,具有軟件工程的概念。基礎(chǔ)軟件工程師從事的工作相對(duì)于系統(tǒng)分析師和高級(jí)程序員要單純一些,但是他們?nèi)匀皇钦麄€(gè)軟件工程中重要的一環(huán),他們同樣需要具有軟件工程的概念:從項(xiàng)目需求分析開始到安裝調(diào)試完畢,基礎(chǔ)軟件工程師都必須能清楚地理解和把握這些過程,并能勝任各種環(huán)節(jié)的具體工作。與信息技術(shù)領(lǐng)域先進(jìn)的基礎(chǔ)理論教育相比,我國高校軟件人才培養(yǎng)模式在實(shí)踐技能的培養(yǎng)、IT編程前沿技術(shù)的獲取與溝通、具有國際水平和標(biāo)準(zhǔn)的軟件項(xiàng)目開發(fā)等方面的培養(yǎng)存在極大不足。為解決這一問題,有必要在高校推出“軟件教育產(chǎn)品”的人才培養(yǎng)模式。“軟件教育產(chǎn)品”是一種培養(yǎng)中、高級(jí)軟件人才的教育產(chǎn)品化解決方案,其根本目的可以歸結(jié)為--培養(yǎng)掌握IT技術(shù)發(fā)展方向、熟悉國際開發(fā)準(zhǔn)則和標(biāo)準(zhǔn),并且具有豐富項(xiàng)目管理經(jīng)驗(yàn)的高級(jí)軟件項(xiàng)目管理人員。“軟件教育產(chǎn)品”包含了教學(xué)方案的設(shè)計(jì)、課程選取與設(shè)置、教材的引進(jìn)與二次開發(fā)、教學(xué)管理流程的監(jiān)控、教學(xué)實(shí)踐環(huán)節(jié)的落實(shí)等等。
國信安IT培訓(xùn)基地專注java培訓(xùn)、php培訓(xùn)、UI設(shè)計(jì)培訓(xùn)、軟件測試培訓(xùn)、大數(shù)據(jù)培訓(xùn)、web前端培訓(xùn)等培訓(xùn)課程。你們準(zhǔn)備好怎么學(xué)習(xí)IT技術(shù)了嗎?來參加國信安IT培訓(xùn)課程,你的選擇不會(huì)有錯(cuò)!
第二篇:教你如何成為一名Java初級(jí)程序員
目前,JAVA是開發(fā)人員的熱寵,很多論壇都有不少熱愛JAVA的開發(fā)人員,也有不少想成為JAVA程序員,但苦于不知道該如何學(xué)習(xí),也不清楚該學(xué)些什么知識(shí)才能成為一個(gè)JAVA程序員。本人在這里拋磚引玉,和大家討論成為一個(gè)JAVA初級(jí)程序員應(yīng)該具有的知識(shí),與大家共享。
個(gè)人認(rèn)為想成為一個(gè)合格的JAVA初級(jí)程序員應(yīng)該具備如下知識(shí):
一、面向?qū)ο蟮闹R(shí):JAVA是一個(gè)面向?qū)ο蟮拈_發(fā)語言,因此熟悉面向?qū)ο髮?duì)學(xué)習(xí)JAVA很有必要,您要了解:什么是對(duì)象,什么是類;什么是封裝,什么是多態(tài),什么是繼承;什么是抽象類,什么是接口。了解了概念后,您還需要這些概念是如何體現(xiàn)的,如類和對(duì)象有什么區(qū)別?類是如何封裝的?
二、JAVA語法:如果您已經(jīng)有了開發(fā)經(jīng)驗(yàn),恭喜您,您學(xué)習(xí)JAVA語法來將比較容易。如果您有C++等面向?qū)ο笳Z言的開發(fā)經(jīng)驗(yàn),您只需簡單的翻看一下介紹JAVA的相關(guān)書籍就可以了。如果您是新手,沒有關(guān)系,您下些工夫,好好研究一本JAVA初級(jí)教程之類的書就可以了。
學(xué)習(xí)了JAVA語法,加上面向?qū)ο蟮闹R(shí),只有您用心,您就可以寫出來比較好的JAVA代碼了。如果您再抽出時(shí)間熟悉一下JAVA編程規(guī)范,您代碼的水平就應(yīng)該不俗了。
三、JSP和HTML:在我國的絕大多數(shù)公司,做JAVA程序員都少不了和JSP以及HTML打交道。因此,想成為JAVA程序員就不可避免的要熟悉JSP和HTML,您最好能知道JSP的幾個(gè)內(nèi)置對(duì)象,如Session,Request,Reponse,以及常用的JSP標(biāo)簽,如include,userBean等。盡管一些工具會(huì)幫您生成HTML代碼,但您還是要熟悉比如title,,等。如果您再熟悉一下JS和CSS就更好了,那會(huì)使您制作的頁面更友好。
四、WebServer:熟悉了以上三種,可以肯定的說您已經(jīng)可以制作出來JSP頁面了,您也可以在您的頁面里使用自己開發(fā)的JAVA類(JAVABEAN)了,但您的頁面總要跑起來才能看到您要的效果,這就要求您必須熟悉一種WebServer,比如:TOMCAT,RESIN等。您要熟悉如何發(fā)布您的應(yīng)用,如何利用WebServer的數(shù)據(jù)庫資源等。
五、開發(fā)工具:大家都知道,開發(fā)工具可以幫助您更好更快地開發(fā),因此熟悉幾種開發(fā)工具很有必要。目前JAVA的開發(fā)工具比較流行的有JBuilder,IDEA,Eclipse,HTML的開發(fā)工具有Dreamweaver等。
六、熟悉一種框架:熟悉一種框架其實(shí)是成為JAVA程序員的一種可選知識(shí),但目前開發(fā)B/S結(jié)構(gòu)的應(yīng)用的開發(fā)小組,都差不多會(huì)采用一種框架來構(gòu)建自己的應(yīng)用系統(tǒng)。框架都會(huì)有許多可重用的代碼,良好的層次關(guān)系和業(yè)務(wù)控制邏輯,基于框架的開發(fā)使你可以省出很多的開發(fā)成本。目前比較流行的框架有Struts和WAF等。
第三篇:如何成為優(yōu)秀的Java程序員
如何成為優(yōu)秀的Java程序員
每一個(gè)優(yōu)秀的人在做事的時(shí)候都有自己的做事風(fēng)格,那么那些優(yōu)秀的Java程序員的編程風(fēng)格如何呢?下面我們具體講講,希望對(duì)想學(xué)習(xí)或正在學(xué)習(xí)編程的同學(xué)有一些幫助。
優(yōu)秀JAVA程序員幾個(gè)原則如下: 1.保持原有風(fēng)格 2.堅(jiān)持最小驚奇原則 3.第一次就做對(duì) 4.記錄所有非規(guī)范行為 格式規(guī)范:
1.縮進(jìn)嵌套的代碼:在每個(gè)代碼塊和嵌套中加入縮進(jìn),縮進(jìn)代碼,加強(qiáng)可讀性。這些地方包括【類定義,內(nèi)部類定義,方法定義,靜態(tài)塊,for循環(huán)語句,if-else語句,try、catch和finally塊,匿名內(nèi)部類,while語句,do-while語句】
2.斷開很長的句子:第一,如果包含了逗號(hào),那么在每一個(gè)逗號(hào)后面都另起一行,把逗號(hào)后面的每一個(gè)表達(dá)式都和逗號(hào)前面的表達(dá)式的第一個(gè)字母對(duì)齊。第二,應(yīng)該在優(yōu)先級(jí)最低的運(yùn)算符之前斷行。
3.使用空白:關(guān)鍵字和左括號(hào)之間,右括號(hào)和緊隨其后的關(guān)鍵字,除了”.”之外的運(yùn)算符與其前后的表達(dá)式之間用空格隔開。每個(gè)邏輯上獨(dú)立的方法和代碼段之間,定義類或者接口的成員之間,每個(gè)類和接口之間應(yīng)該加入空白行。
4.不要直接使用Tab控制符:不同環(huán)境對(duì)Tab控制符的解釋也是不同的。命名約定:
1.名稱應(yīng)該具有實(shí)際意義
2.使用人們熟悉的名稱
3.謹(jǐn)慎使用過長的名字,可以使用簡明通用的縮寫 4.盡量保留元音字母 5.縮寫詞的第一個(gè)字母大寫 6.不要使用大小寫來區(qū)分的名字 包命名:
1.用你所在組織的域名的倒序小寫形式作為包的根限定詞 2.使用單獨(dú)的小寫詞作為每個(gè)包的根名
3.僅當(dāng)新舊版本二進(jìn)制兼容的時(shí)候,其包可以使用相同的名字,否則,請(qǐng)使用新名字 類型命名:
1.類和接口名中的每個(gè)單詞的第一個(gè)字母大寫 類命名: 1.用名詞命名類
2.具有成組相關(guān)屬性,靜態(tài)服務(wù)或者常量的類名字使用復(fù)數(shù)形式 接口命名:
1.用名詞或者形容詞命名接口 方法命名:
1.方法名中的第一個(gè)單詞小寫,其后每個(gè)單詞的第一個(gè)字母大寫 2.用動(dòng)詞命名方法
3.遵循JavaBean中命名屬性訪問函數(shù)方法:set,get,is 變量命名:
1.變量命中的第一個(gè)單詞小寫,其后的每個(gè)單詞的第一個(gè)字母大寫
2.用名詞命名變量 3.集合引用名要用復(fù)數(shù)形式
4.為不重要的臨時(shí)變量簡歷并使用一套標(biāo)準(zhǔn)名字 字段命名:
1.使用this字段變量可以區(qū)分開局部變量 參數(shù)命名:
1.構(gòu)造函數(shù)或者”set”方法給字段分配參數(shù)賦值,參數(shù)名應(yīng)該和字段名相同 常量命名:
1.常量的每個(gè)單詞均大寫,單詞之間使用下劃線連接 文檔約定:
1.為使用和維護(hù)你的代碼的人編寫文檔 2.注釋和代碼要同步
3.使用積極的語氣,省略無用的詞語 注釋類型:
1.用文檔注釋來描述編程接口
2.用標(biāo)準(zhǔn)注釋格式隱藏代碼而不必刪除它們 3.用單行注釋解釋實(shí)現(xiàn)細(xì)節(jié) 文檔注釋:
1.在編寫代碼前描述編程接口
2.為公用,受保護(hù),包,私有成員建立文檔 3.為每個(gè)包編寫總結(jié)和概述 4.為包的每個(gè)應(yīng)用程序或組編寫概述
注釋風(fēng)格:
1.對(duì)所有文檔注釋使用統(tǒng)一的格式和組織結(jié)構(gòu)
2.關(guān)鍵字,標(biāo)識(shí)符和常量應(yīng)放到…
標(biāo)簽中 3.將代碼放入
…標(biāo)簽中 4.在標(biāo)識(shí)符第一次出現(xiàn)的時(shí)候用{@link}標(biāo)簽 5.為Javadoc標(biāo)簽簡歷并使用一套固定的順序 6.使用第三人稱敘述的形式 7.編寫?yīng)毩⒌母攀?/p>
8.省略概述中動(dòng)作和服務(wù)的主語 9.省略事物概述中的對(duì)象和動(dòng)詞
10.使用this而不是the來指代當(dāng)前類中的實(shí)例
11.方法名或者構(gòu)造函數(shù)名不需圓括號(hào),除非你想突出一個(gè)特殊的簽名 注釋內(nèi)容:
1.每個(gè)類、接口、字段和方法都編寫概述 2.完整描述每個(gè)方法的簽名 3.包含示例
4.為前置、后置、不變條件編寫文檔 5.為已知的缺陷和不足編寫文檔 6.為同步語法編寫文檔 內(nèi)部注釋:
1.僅添加有助于理解你的代碼的內(nèi)部注釋 2.描寫代碼為什么這樣做,而不是在做什么
3.避免使用行尾注釋
4.用行尾注釋解釋局部變量聲明
5.建立并使用一套關(guān)鍵詞來標(biāo)識(shí)尚未解決的問題 6.在嵌套程度高的控制結(jié)構(gòu)中標(biāo)記出嵌套結(jié)束位置
7.如果兩個(gè)case標(biāo)記之間沒有break語句,就在中間加入“fall-through”注釋 8.標(biāo)記空語句 編程約定:
1.將表示基礎(chǔ)數(shù)據(jù)類型的類聲明為final類型 2.通過本地類型和其他具體類型建立具體類型 3.定義小的類和小的方法
4.定義子類,以便任何使用超類的地方都可以使用子類 5.使所有字段私有
6.使用多態(tài)來替代instanceof 類型安全:
1.以java.lang.Object包裝通用類,提供靜態(tài)類型檢查 2.以類的形式封裝枚舉類型 3.盡量使用泛型 語句和表達(dá)式:
1.用等價(jià)的方法替換重復(fù)的、復(fù)雜的表達(dá)式 2.使用塊語句代替控制流結(jié)構(gòu)的表達(dá)式 3.使用括號(hào)明確操作順序
4.在switch語句中的最后一個(gè)case體使用break語句
5.使用equals(),而不是==來檢測對(duì)象的對(duì)等關(guān)系 構(gòu)造:
1.構(gòu)造狀態(tài)有效的對(duì)象
2.不要從構(gòu)造函數(shù)中調(diào)用非final方法 3.用嵌套的構(gòu)造函數(shù)消除冗余代碼 異常處理:
1.使用不受檢查、運(yùn)行時(shí)的異常來報(bào)告可能在程序邏輯中出錯(cuò)的嚴(yán)重未查明錯(cuò)誤 2.使用檢查異常來報(bào)告可能發(fā)生,而在正常的程序運(yùn)行時(shí)極少發(fā)生的錯(cuò)誤 3.用返回代碼報(bào)告可預(yù)知的狀態(tài)改變 4.僅轉(zhuǎn)化異常來添加信息
5.不要私自處置運(yùn)行時(shí)或者錯(cuò)誤異常 6.用finally語句塊釋放資源 斷言: 1.按照約定編程
2.用無用代碼消除機(jī)制實(shí)現(xiàn)斷言 3.用斷言捕捉代碼中的邏輯錯(cuò)誤 4.用斷言檢測方法的前置條件和后置條件 并發(fā):
1.僅在適當(dāng)?shù)牡胤绞褂镁€程 同步: 1.避免同步
2.用同步的包裝器,提供同步接口
3.如果方法包含幾個(gè)不需要同步的重要操作,那么不要同步整個(gè)方法 4.讀寫實(shí)例變量的時(shí)候避免不必要的同步 5.使用notify()而不是notifyAll()6.為同步初始化使用雙重檢查模式 效率:
1.使用懶惰初始化 2.避免創(chuàng)建不必要的對(duì)象
3.重新初始化并重新使用對(duì)象,盡量不要新建對(duì)象 4.把優(yōu)化工作留在日后 打包約定:
1.將經(jīng)常使用、更改、同時(shí)發(fā)布或者互相依存的類型,放在同一個(gè)包里 2.共同封閉原則 3.重用/發(fā)布等價(jià)原則 4.無環(huán)依賴原則
5.將不穩(wěn)定的類和接口隔離在單獨(dú)的包中 6.易于修改的包不要依賴于難以修改的包 7.最大化抽象最大化穩(wěn)定性
8.將高層設(shè)計(jì)和架構(gòu)作為穩(wěn)定的抽象,組織為穩(wěn)定的包
如果你想在IT技能上得到提升,那么北大青鳥就是不錯(cuò)的選擇。北大青鳥是中國電腦教育著名品牌,積累了雄厚的師資和豐碩的教學(xué)經(jīng)驗(yàn),學(xué)校的管理、就業(yè)、環(huán)境等都很優(yōu)越。學(xué)校擁有多個(gè)IT相關(guān)專業(yè),是西北地區(qū)比較齊全和綜合的大型電腦培訓(xùn)學(xué)校。
學(xué)以致用,所學(xué)即所用,是北大青鳥多年如一日的秉承的教育方針。不讓學(xué)生浪費(fèi)無謂的時(shí)間和精力在那些并不重要的技能學(xué)習(xí)上。為學(xué)生節(jié)約時(shí)間和精力去學(xué)習(xí)那些在工作中需要經(jīng)常用到的技能,那些重點(diǎn)技能,才是學(xué)校教授的重點(diǎn),也是學(xué)生需要學(xué)習(xí)的重點(diǎn)。
詳情點(diǎn)擊咨詢。
第四篇:如何成為一名程序員
苦逼中的戰(zhàn)斗雞:如何成為一名程序員
下面要說的是我在成為一名程序員的道路上做的幾件事情。寫在這里除了要讓自己銘記在心外,我還希望它能對(duì)別人有些用處。1.建立一個(gè)博客
這是我后來才認(rèn)識(shí)到的事,其實(shí)應(yīng)該很早就去做。如果你是跟我類似的情況,你應(yīng)該盡早開通一個(gè)博客——盡管還不知道該寫什么。注冊一個(gè)域名,買一個(gè) 空間。你會(huì)驚奇的發(fā)現(xiàn)有很多可寫的東西。你可以記錄下你成為一名程序員的過程,或?qū)懸幌履愀信d趣的技術(shù)方面的東西。我一直以為沒什么好寫的,可當(dāng)真正思考 這些問題時(shí),卻發(fā)現(xiàn)有很多值得寫的。最重要的事情是開始去做。2.開發(fā)一些東西
開發(fā)什么并不重要。選一種編程語言,任何一種都行,開始干。你不必去花大量的時(shí)間來決定應(yīng)該使用什么語言。直接開始學(xué)一種語言,事實(shí)上最重要的是學(xué)習(xí)編程語言的基礎(chǔ)知識(shí),而不是勞神費(fèi)力的去選擇一種“最好的編程語言”。我選擇的是PHP。因?yàn)樗且环N被廣泛使用的語言,在網(wǎng)上有大量的學(xué)習(xí)范例,我已經(jīng)通過搭建一個(gè)WordPress網(wǎng)站而熟練的掌握了它。沒有絲毫的遺憾。它使我學(xué)到了很多 基礎(chǔ)知識(shí)。我還學(xué)習(xí)了其它語言嗎?當(dāng)然,我后來涉獵了很多腳本語言,我要在下一個(gè)項(xiàng)目上試試Ruby。編程語言不斷的在變化,不要只盯著一個(gè)不放。3.注冊你的GitHub帳戶
我已經(jīng)在Bitbucket上有了一個(gè)代碼庫。我最初選擇注冊Bitbucket是因?yàn)樗芴峁?個(gè)免費(fèi)的私有庫。后來我決定在GitHub上注冊。事實(shí)上,我絲毫沒有拖延,看看我的成果吧。4.向開源項(xiàng)目捐贈(zèng)代碼
我早該如此做了。我起初低估了做這種事情的重要性,說老實(shí)話,我現(xiàn)在仍需要進(jìn)一步重視。向開源項(xiàng)目捐贈(zèng)代碼,這是一種很好的學(xué)習(xí)別人如何編程的方法,并且能把自己的代碼公開。我今晚的就要去列一個(gè)準(zhǔn)備去參與的開源項(xiàng)目的清單。5.熱心參與
這也是我需要改進(jìn)的方面。我應(yīng)該到stackoverflow網(wǎng)站上去回答更多的問題,在一些博客,科技網(wǎng)站上分享自己的東西。去那些網(wǎng)站,讓大家看到你。不在網(wǎng)上露面,就相當(dāng)于待在屋里不出門卻想找一份做巴黎導(dǎo)游的工作。重復(fù)做第2,4和5點(diǎn) 其它一些事情
很明顯,每一個(gè)有志向的程序員都應(yīng)該每天閱讀Hacker News和其它開發(fā)/科技/編程類的博客文章。
我打聽到了不少的技術(shù)討論會(huì)。這周末我準(zhǔn)備去參加一個(gè)。我會(huì)把那里的情況寫出來。我在這里并沒有提讀書。我喜歡閱讀,但我們沒有買任何的關(guān)于web開發(fā)的書籍。這是我個(gè)人的做法。我相信很多人都會(huì)建議首先買一本書看看。
找一些能和你討論你的web開發(fā)/技術(shù)/編程想法的人和群體。如果我做了更多的第5項(xiàng),我可能找到了更多的這樣的人。
好了,這就是我要說的。這些就是在過去的一年里我成為一個(gè)程序員的成長之路上做到事情。如果有人覺得在這個(gè)清單里我還應(yīng)該加入什么,請(qǐng)給我留言。我永遠(yuǎn)都希望聽到新的觀點(diǎn)。
第五篇:如何成為高級(jí)Java程序員
如何成為高級(jí)Java程序員
給一個(gè)剛出社會(huì)的程序員新生一個(gè)建議,想成為一個(gè)優(yōu)秀的程序員,高級(jí)程序員,不能眼高手低,不能認(rèn)為開發(fā)新項(xiàng)目,技術(shù)研發(fā)才學(xué)到東西,不能看不起維護(hù)系統(tǒng),不要以為自己懂的技術(shù)越多自認(rèn)為自己很牛叉。假如你忽略了一個(gè)問題那么你永遠(yuǎn)成為不了優(yōu)秀的程序員、高級(jí)程序員,那就是系統(tǒng)優(yōu)化。
一、JAVA。要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA。一般的程序員或許只需知道一些JAVA的語法結(jié)構(gòu)就可以應(yīng)付了。但要成為JAVA(高級(jí))工程師,您要對(duì)JAVA做比較深入的研究。您應(yīng)該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您對(duì)JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發(fā)現(xiàn)其實(shí)您想實(shí)現(xiàn)的很多功能,通過JAVA的API都可以實(shí)現(xiàn)了,就不必自己費(fèi)太多的腦經(jīng)了。
二、設(shè)計(jì)模式。其實(shí)寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個(gè)“好”字包括代碼可重用性,可維護(hù)性,可擴(kuò)展性等。如何寫出好的代碼往往要借助一些設(shè)計(jì)模式。當(dāng)然長期的代碼經(jīng)驗(yàn)積累,只要您用心,會(huì)使您形成自己代碼風(fēng)格。相信您的代碼也比較符合代碼的可重用性,可維護(hù)性,可擴(kuò)展性。但既然前人已經(jīng)給我們總結(jié)出了經(jīng)驗(yàn),我們何不踩著前人的肩膀前進(jìn)?
三、XML。現(xiàn)在的系統(tǒng)中不使用XML幾乎是不可能的。XML的功能非常強(qiáng)大,它可以做數(shù)據(jù)轉(zhuǎn)換、做系統(tǒng)的配置、甚至可保存您的系統(tǒng)業(yè)務(wù)數(shù)據(jù)。因此您必須了解XML,包括它的語法,結(jié)構(gòu)。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因?yàn)樵谖覀円话愕捻?xiàng)目中,XML往往擔(dān)當(dāng)系統(tǒng)配置信息的作用,您需要用這些API解析這些配置信息,開發(fā)完美的項(xiàng)目。
四、精通使用一種或兩種框架。像在《如何成為java初級(jí)程序員》中提到的那樣,“框架都會(huì)有許多可重用的代碼,良好的層次關(guān)系和業(yè)務(wù)控制邏輯,基于框架的開發(fā)使你可以省出很多的開發(fā)成本”。但我這里希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發(fā)一個(gè)項(xiàng)目時(shí)思路會(huì)開闊一些,比如您會(huì)想到把SQL語句與您的java代碼分開,再比如您會(huì)考慮把您的業(yè)務(wù)邏輯配置到XML或者數(shù)據(jù)庫中,這樣整個(gè)項(xiàng)目就很容易擴(kuò)張了。
五、熟悉主流數(shù)據(jù)庫。其實(shí)真正比較大的項(xiàng)目都是有人專門做數(shù)據(jù)庫的,但往往很多項(xiàng)目要求作為(高級(jí))工程師的您也參與數(shù)據(jù)庫的設(shè)計(jì)以及SQL的編寫。所以為了更好的為國家做貢獻(xiàn),建議您還是多了解一些主流數(shù)據(jù)庫,比如SQLSERVER,ORACLE,多連接SQL和存儲(chǔ)過程以及觸發(fā)器。如果您不是“科班”出身,您還需要補(bǔ)充一些數(shù)據(jù)庫原理方面的知識(shí)。
六、精通一種或兩種WEBServer。盡管我再《如何成為java初級(jí)程序員》里講過它,我還是要強(qiáng)調(diào)您要精通一種或兩種。因?yàn)樽鳛閖ava工程師,特別時(shí)想成為高級(jí)JAVA工程師的您,您不可避免地要部署您的項(xiàng)目到WebServer上,而且只有當(dāng)您精通一種WebServer,您才可能最大限度地使用它的資源,這往往可以節(jié)省很多時(shí)間和精力。
七、UML。我知道您肯定想成為高級(jí)工程師,因此您有必要了解或熟練或精通UML,這取決于您有多大決心想成為高級(jí)工程師和項(xiàng)目經(jīng)理。在比較正規(guī)的開發(fā)團(tuán)隊(duì)中,UML是討論項(xiàng)目的交流工具,您要想做一個(gè)軟件工程師,您至少要能看懂,您要想做高級(jí)工程師,您要能通過它來描述您對(duì)項(xiàng)目的理解,盡管這不是必須,但卻很重要。
八、站在高度分析問題:這不是一個(gè)知識(shí)點(diǎn),也不是通過書本就能學(xué)得到的。只所以提到這一點(diǎn),是因?yàn)槲冶饶€著急,我希望您更快的成為一個(gè)高級(jí)的軟件工程師,而不是一個(gè)一般的軟件工程師。希望您在工作中多向您的系統(tǒng)分析員、需求分析員、系統(tǒng)設(shè)計(jì)員學(xué)習(xí),多站在他們角度上去看您在開發(fā)的項(xiàng)目。在最好在項(xiàng)目之初先在您的腦海里對(duì)項(xiàng)目有個(gè)大致的分析、設(shè)計(jì),然后和他們進(jìn)行比較,找找差別,想想缺點(diǎn)。
九、工具。與在《如何成為java初級(jí)程序員》里提到的不同,您在這個(gè)階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對(duì)ROSE,Together要多了解一些,因?yàn)槟婾ML了。不要再對(duì)Dreamweaver等HTML編輯器情有獨(dú)鐘了,那些JSP頁面讓初級(jí)程序員去寫吧。
1、具有1-5工作經(jīng)驗(yàn)的,面對(duì)目前流行的技術(shù)不知從何下手,需要突破技術(shù)瓶頸的可以加群。