0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

java程序員必須要學習哪些東西

工程師人生 ? 來源:工程師吳畏 ? 2019-06-25 17:12 ? 次閱讀

最近室友閑聊的時候告訴我,他在網(wǎng)上收集了做為一個java程序員必須要會的東西,他覺得自己要有個方向,否則一定會在平平凡凡的工作中,不思進取,最終渾渾噩噩。真是讓我猛然驚醒啊,做為一個底層的程序員,如何才能拼得過出來的大學精英和社會老手?學習一定必不可少。雖然自己有點懶,我先把這些記下,待日后盡量弄懂。

Web/WinForm/通吃,包括ASP.NET,WebService,Remoting,Thread,Serializable,ADO.NET等命名空間

精通UML

精通DesignPatterns 23+N種模式:默寫各個模式UML圖,熟記代碼實現(xiàn)方式,范例,以及.NET相關(guān)接口

精通CLR

VB.NET/C#通吃

精通OOP理念

精通DB設(shè)計與T-SQL,SQL2005就可以了

熟悉AJAX全套技術(shù)

通吃WPF/WCF/WF/LINQ

WEB 2.0理念,理解Blog/Wiki/RSS架構(gòu),SOA理念

精通數(shù)據(jù)結(jié)構(gòu)/操作系統(tǒng)/安全加密

精通.NET設(shè)計規(guī)范

研究5套以上經(jīng)典源碼,例如:SharpDevelop,PetShop,DotNetNuke,SmartClient,NUnit,F(xiàn)otoVision,CSLA等等

熟悉DirectX編程模式

翻譯過1-2本技術(shù)書籍

軟件開發(fā)是一個跨度很大的技術(shù)工作,在語言方面,有C、C++、Java、Ruby等等等等;在環(huán)境方面,又分嵌入式、桌面系統(tǒng)、企業(yè)級、WEB、基礎(chǔ)系統(tǒng),或是科學研究。但是,不管是什么的情況,總是有一些通用的基本職業(yè)技能。

這些最基本的職業(yè)技能通常決定了一個程序員的級別,能否用好這些技能,直接關(guān)系到了程序員的職業(yè)生涯。很多程序新手也是因為缺少、達不到或是不熟悉在這些基本技能,所以,他們需要有老手帶,需要努力補齊這些技能。而高級程序員應(yīng)該非常熟悉這些基本技能,而且有能力勝任并帶領(lǐng)其他經(jīng)驗不足的程序員。

下面這些基本職業(yè)技術(shù)可以用來做為對一個程序員的評估,很明顯,下面的這些技能都可以用來做面試。雖然,還有很多非技術(shù)的因素,但對于評估一個程序員的技術(shù)能力來說,其應(yīng)該是足夠的了。

下面是程序員所應(yīng)該具備的基本職業(yè)技能:

閱讀代碼 - 這個技能需要程序員能夠具備讀懂已經(jīng)存在的代碼的能力,這樣的能力可以讓程序員分析程序的行為,了解程序,這樣才能和開發(fā)團隊一起工作,繼承維護或是改進現(xiàn)有的程序。(相關(guān)閱讀:《閱讀優(yōu)秀代碼是提高開發(fā)人員修為的一種捷徑》)

編寫程序 - 編寫程序并不包括程序設(shè)計。不要以為編程是一件很簡單的事情,很多程序員都認為編程只需要懂得程序語言的語法,并把設(shè)計實現(xiàn)就可以了。但是這離編寫程序還遠遠不夠,使用什么樣的編碼風格成為編寫程序員最需要具備的基本技能。能否使用非常良好的編程風格直接決寫了程序員的級別。

軟件設(shè)計 - 這一能力直接決定了需要吏用什么樣的代碼技術(shù)達到怎么樣的功能,而系統(tǒng)架構(gòu)設(shè)計直接決定了軟件的質(zhì)量、性能和可維護性。并不是所有的程序在這一方面都非常優(yōu)秀,但每個程序員都需要或多或少的明白和掌握這一基本技能。

熟悉軟件工程 - 每個程序員都應(yīng)該明白軟件工程是什么東西,都應(yīng)該知道,需求分析、設(shè)計、編碼、測試、Release和維護這幾個階段。當然,幾乎所有的人都知道這些東西,但并不是每個人都很清楚這些東西?,F(xiàn)在很多高級程序員都會混淆“需求規(guī)格說明書FS”和“概要設(shè)計HLD”。另外,程序員還需要知道一些軟件開發(fā)的方法/論,比如:敏捷開發(fā)或瀑布模型。

使用程序庫或框架 - 一個程序員需要學會使用已有的代碼,無論是標論的程序庫,或是第三方的,還是自己公司內(nèi)部的,都需要學會做。比如:C++中,需要學會使用STL、MFC、ATL、BOOST、AC、CPPUNIT等等。使用這些東西,可以讓你的工作事半功倍。

程序調(diào)試 - 程序調(diào)試是分析BUG和解決問題最直接的能力。沒有人能夠保證程序?qū)懗鰜聿挥谜{(diào)試就可以運行正常,也沒有人可以保證程序永遠不會出BUG。所以,熟練使用調(diào)試器是一個程序員需要具備的基本技能。

使用IDE - 學會使用IDE工具也會讓你的工作事半功倍。比如,VC++、Emacs、Eclipse等等,并要知道這些IDE的長處和短處。

使用版本控制 - 一定要學會使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代碼,怎么reverse,怎么利用版本控制工具維護不同版本的軟件。這是程序員需要明的的軟件配置管理中最重要的一塊。

單元測試 - 單元測試是每個程序都需要做的。很多單元測試也是需要編碼的。一定要學會在xUnit框架下進行單元測試。比如JUnit, NUnit, CppUnit等等。

重構(gòu)代碼 - 每個程序員都需要有最基本的能力去重構(gòu)目前已有的代碼,使代碼達到最優(yōu)但卻不能影響任何的已有的功能。有一本書叫《軟件的重構(gòu)》,每個程序員都應(yīng)該讀一下。

自動化編譯 - 程序員需要使用一個腳本,其能自動化編程所有的工程和代碼,這樣,整個開發(fā)團隊可以不停地集成代碼,自動化測試,自動化部署,以及使用一些工具進行靜態(tài)代碼分析或是自動化測試。

當然,還有很多的基本技術(shù)也是非常重要的,比如,與人的溝通能力,語言的表達能力,寫作能力,團隊協(xié)作能力,適應(yīng)變化的能力,時間管理能力,多任務(wù)處理能力,自我學習能力,故障處理能力,等等。這里只是列舉了和技術(shù)相關(guān)的能力,這些是程序最最最基本的能力,只要是程序員就必需要有的能力。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2970

    瀏覽量

    104836
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    952

    瀏覽量

    29817
收藏 人收藏

    評論

    相關(guān)推薦

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?428次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?187次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?211次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會流向哪……

    程序員沒有永遠的護城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?419次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    進入裁員階段。所以我們程序員要做的只能是與時俱進。 適者生存,程序員亦是如此 順應(yīng)時代發(fā)展,是我們必須跟緊的。就好比技術(shù)更迭我們就要學習更新。而現(xiàn)在我們
    發(fā)表于 03-06 21:32

    感覺我國的程序員前景一片灰暗,是這樣嗎?

    程序員也分為好幾等,在現(xiàn)在看來大部分的Android、Java、前端等等開發(fā)。已經(jīng)看不到希望了,很多人都在邊緣掙扎;剛看到一位Android開發(fā)者,過完年回公司就通知被裁;可見每年都會有很多互聯(lián)網(wǎng)
    發(fā)表于 02-20 20:52

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?836次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    1月18號“純鴻蒙”千帆啟航,程序員預備!

    。 如何正確看待鴻蒙? 我作為程序員來說,首先是看鴻蒙的發(fā)展、市場開發(fā)崗位、薪資以及前景。 這幾年對鴻蒙的發(fā)展情況來分析,從2019年開始鴻蒙的出來今天,華為鴻蒙取得了很大的成就。從“不兼容
    發(fā)表于 01-16 22:13