一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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),或是科學(xué)研究。但是,不管是什么的情況,總是有一些通用的基本職業(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)就可以了。但是這離編寫程序還遠遠不夠,使用什么樣的編碼風(fēng)格成為編寫程序員最需要具備的基本技能。能否使用非常良好的編程風(fēng)格直接決寫了程序員的級別。

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    20

    文章

    2988

    瀏覽量

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

    關(guān)注

    4

    文章

    954

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    步進電機選型時必須要了解什么?

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

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?703次閱讀

    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 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    學(xué)習(xí)硬件的第一節(jié)課:學(xué)習(xí)讀懂原理圖

    學(xué)習(xí)硬件的第一節(jié)課:學(xué)習(xí)讀懂原理圖 讀懂原理圖對嵌入式軟件工程師和程序員尤為重要。在深入細節(jié)之前請注意,對所有的嵌入式設(shè)計人員來說、能懂得硬件工程師創(chuàng)建和使用的來描述其硬件設(shè)計的原理圖和符號是非
    的頭像 發(fā)表于 12-16 16:04 ?2344次閱讀
    <b class='flag-5'>學(xué)習(xí)</b>硬件的第一節(jié)課:<b class='flag-5'>學(xué)習(xí)</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 ?1090次閱讀

    Java代碼之美,從遵循樣式規(guī)范開始

    作者:京東零售 劉仲偉 在軟件開發(fā)的世界里,代碼不僅是程序的基石,更是程序員交流的通用語言。而Java,作為一門廣泛應(yīng)用于企業(yè)級應(yīng)用的編程語言,其代碼的可讀性和一致性對于項目的長期維護和團隊協(xié)作
    的頭像 發(fā)表于 11-27 11:42 ?567次閱讀
    <b class='flag-5'>Java</b>代碼之美,從遵循樣式規(guī)范開始

    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 ?523次閱讀

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

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

    【轉(zhuǎn)型必看】Java到AI,程序員的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢!

    人工智能,轉(zhuǎn)型的優(yōu)勢,薪資對比,以及轉(zhuǎn)型所需的知識和學(xué)習(xí)路線等。01Java開發(fā)者能否轉(zhuǎn)型人工智能?答案是肯定的。Java作為一種廣泛使用的編程語言,擁有強大的生
    的頭像 發(fā)表于 07-31 14:42 ?2366次閱讀
    【轉(zhuǎn)型必看】<b class='flag-5'>Java</b>到AI,<b class='flag-5'>程序員</b>的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢!

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復(fù),為程序員開啟代碼漏洞修復(fù)的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內(nèi)外部各種攻擊構(gòu)建起一道堅固的安全屏障,確保業(yè)務(wù)的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的一款輔助開發(fā)人員
    的頭像 發(fā)表于 07-17 16:29 ?488次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    Java Web和Java是兩個不同的概念,它們在功能、用途和實現(xiàn)方式上存在一些區(qū)別,下面將詳細介紹它們之間的區(qū)別。 1. 功能和用途: – Java是一種編程語言,它提供了一種用于開發(fā)各種應(yīng)用
    的頭像 發(fā)表于 07-16 13:35 ?1433次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別