91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

java程序員必須要學(xué)習(xí)哪些東西

工程師人生 ? 來源:工程師吳畏 ? 2019-06-25 17:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

精通UML

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

精通CLR

VB.NET/C#通吃

精通OOP理念

精通DB設(shè)計(jì)與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è)計(jì)規(guī)范

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

熟悉DirectX編程模式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    20

    文章

    3002

    瀏覽量

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

    關(guān)注

    4

    文章

    956

    瀏覽量

    30946
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    學(xué)習(xí)單片機(jī)快速方法

    那么多錢去養(yǎng)那些優(yōu)化代碼的程序員還不如買一套新的硬件。我現(xiàn)在也是用C語言編程的。 匯編幾乎不用。知道怎么使用開發(fā)軟件之后,你就可以按照學(xué)習(xí)板的教程進(jìn)行編程練習(xí)。練習(xí)要分模塊進(jìn)行,比如流水燈模塊,你
    發(fā)表于 01-14 07:42

    請問一下,繪制F030系列MCU的時(shí)候,仿真接口是否必須要引出RST呢?

    請問一下,繪制F030系列MCU的時(shí)候,仿真接口是否必須要引出RST呢?
    發(fā)表于 01-13 07:06

    汽車電子EMC測試系統(tǒng):車企必須要知道的電磁安全方案

    南柯電子|汽車電子EMC測試系統(tǒng):車企必須要知道的電磁安全方案
    的頭像 發(fā)表于 01-08 11:00 ?422次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?726次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個(gè)功能沒問題,可以上線了。 29別擔(dān)心,這個(gè)問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    Arm Neoverse CPU上大代碼量Java應(yīng)用的性能測試

    Java 是互聯(lián)網(wǎng)領(lǐng)域廣泛使用的編程語言。Java 應(yīng)用的一些特性使其性能表現(xiàn)與提前編譯的原生應(yīng)用(例如 C 程序)大相徑庭。由于 Java 字節(jié)碼無法直接在 CPU 上執(zhí)行,因此通常
    的頭像 發(fā)表于 11-05 11:25 ?765次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應(yīng)用的性能測試

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個(gè)圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?790次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?718次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    人士而言往往難以理解,人們也常常誤以為需要扎實(shí)的編程技能才能真正掌握并合理使用這項(xiàng)技術(shù)。事實(shí)上,這種印象忽視了該技術(shù)為機(jī)器視覺(乃至生產(chǎn)自動化)帶來的潛力,因?yàn)樯疃?b class='flag-5'>學(xué)習(xí)并非只屬于計(jì)算機(jī)科學(xué)家或程序員。 從頭開始:什么
    的頭像 發(fā)表于 09-10 17:38 ?911次閱讀
    如何在機(jī)器視覺中部署深度<b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時(shí)下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦?。。。?如果內(nèi)容
    發(fā)表于 06-03 16:10

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    Java開發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發(fā)者在用?

    Perforce JRebel是一款Java開發(fā)效率工具,旨在幫助java開發(fā)人員更快地編寫更好的應(yīng)用程序。JRebel可即時(shí)重新加載對代碼的修改,無需重啟或重新部署應(yīng)用程序,就能讓開
    的頭像 發(fā)表于 04-27 13:44 ?866次閱讀
    <b class='flag-5'>Java</b>開發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b>開發(fā)者在用?

    步進(jìn)電機(jī)選型時(shí)必須要了解什么?

    步進(jìn)電機(jī)選型時(shí),必須要了解以下幾個(gè)方面的信息以確保所選電機(jī)能夠滿足特定的應(yīng)用需求: 1. 轉(zhuǎn)矩需求: ? ?● 步進(jìn)電機(jī)的保持轉(zhuǎn)矩類似于傳統(tǒng)電機(jī)的“功率”,但物理結(jié)構(gòu)和輸出特性有所不同
    的頭像 發(fā)表于 04-14 07:38 ?1291次閱讀

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗(yàn)豐富的程序員和想學(xué)習(xí)C語
    的頭像 發(fā)表于 03-25 09:28 ?1167次閱讀
    如何在 樹莓派 上編寫和運(yùn)行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2065次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python<b class='flag-5'>程序</b>?