- 相關(guān)推薦
軟件工程師必須知道的20個(gè)常識(shí)
作為一名優(yōu)秀是軟件開發(fā)工程師,以下的這些常識(shí)你知道嗎?在實(shí)際工作中有沒(méi)有總結(jié)過(guò)呢?以下是YJBYS小編搜索整理的關(guān)于軟件工程師必須知道的20個(gè)常識(shí),供參考閱讀,希望對(duì)大家有所幫助!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生培訓(xùn)網(wǎng)!
1.針對(duì)面向?qū)ο蟮脑O(shè)計(jì)與分析:
為了讓軟件有更好的可維護(hù)性,重用性以及快速開發(fā),簡(jiǎn)短的OOAD與它的SOLID原則對(duì)于每一個(gè)軟件工程師來(lái)說(shuō)都是該牢記的。
2.軟件品質(zhì)因素:
軟件工程的好壞與軟件的品質(zhì)因素是絕對(duì)關(guān)聯(lián)的。請(qǐng)?jiān)陂_發(fā)過(guò)程中深刻的理解這一點(diǎn)。
3.數(shù)據(jù)結(jié)構(gòu)與算法:
深刻理解像數(shù)組,列表,棧,樹,圖,集合等這樣的基本數(shù)據(jù)結(jié)構(gòu),并在軟件開發(fā)過(guò)程的關(guān)鍵部分使用好的算法。這樣整個(gè)軟件邏輯就會(huì)很清晰了。
4.Big-O符號(hào)來(lái)標(biāo)記算法復(fù)雜度:
在開發(fā)過(guò)程中,請(qǐng)務(wù)必使用Big-O符號(hào)來(lái)比較兩個(gè)代碼段或者不同算法所消耗的時(shí)間復(fù)雜度,這在開發(fā)高性能軟件項(xiàng)目中是非常重要的。
5.UML圖:
UML圖已經(jīng)是一個(gè)通用的軟件設(shè)計(jì)與分析的語(yǔ)言。如果你們?cè)陂_發(fā)軟件的過(guò)程中還沒(méi)有做UML圖,那么給人的感覺(jué)就是這壓根就不是軟件工程。
6.正確的衡量軟件開發(fā)進(jìn)度。
7.設(shè)計(jì)模式:
設(shè)計(jì)模式是前人在解決各種各樣問(wèn)題的過(guò)程中總結(jié)出來(lái)的一套標(biāo)準(zhǔn)對(duì)策,在絕大部分情況下,使用這些模式肯定是利大于弊的。如果你不想在開發(fā)過(guò)程中重新造輪子,那么就直接使用它吧。
8.理解操作系統(tǒng)的基本原理:
因?yàn)樗械膽?yīng)用程序都是直接運(yùn)行在操作系統(tǒng)這個(gè)層級(jí)的,學(xué)習(xí)操作系統(tǒng)的基本原理能讓我們對(duì)應(yīng)用程序的底層以及性能有更好的把握。
9.學(xué)習(xí)計(jì)算機(jī)組成原理:
幾乎所有的應(yīng)用程序甚至是OS都需要與物理硬件打交道的,所以學(xué)習(xí)計(jì)算機(jī)組成原理與理解操作系統(tǒng)原理一樣都可以讓你對(duì)于應(yīng)用程序有更深刻的理解。
10.網(wǎng)絡(luò)基礎(chǔ):
網(wǎng)絡(luò)與計(jì)算機(jī)組成,操作系統(tǒng)以及傳輸流程都是緊密關(guān)聯(lián)的,理解網(wǎng)絡(luò)基礎(chǔ)能讓你在開發(fā)過(guò)程中得心應(yīng)手。
11.需求分析:
對(duì)于軟件工程來(lái)說(shuō),需求分析是項(xiàng)目的起點(diǎn),也是整個(gè)項(xiàng)目最最重要的部分。如果這玩意你搞錯(cuò)了,整個(gè)項(xiàng)目的方向也就錯(cuò)了。
12.軟件測(cè)試:
在軟件工程中,測(cè)試也是非常重要的。單元測(cè)試,黑盒測(cè)試,白盒測(cè)試,TDD,集成測(cè)試等等都是我們必須知道的。
13.獨(dú)立管理:
主要是說(shuō)類庫(kù)(JAR,DLL等等)的管理,熟悉使用一些類似Maven,Ant,lvy這樣的知名工具對(duì)于大型項(xiàng)目的類庫(kù)管理是非常有用的。
14.持續(xù)化集成:
持續(xù)化集成能讓測(cè)試大型模塊與組件更加簡(jiǎn)單與自動(dòng)化,關(guān)于這一點(diǎn),你可以去了解Hudson這個(gè)工具。
15.ORM:
了解Hibernate這種將對(duì)象與數(shù)據(jù)庫(kù)表映射工具是非常有好處的,它可以減少你的代碼量并節(jié)省你的代碼維護(hù)時(shí)間。
16.DI(獨(dú)立注入):
DI或者IoC(Inversion of Control)的具體實(shí)現(xiàn)框架Spring能讓你創(chuàng)建對(duì)象時(shí)更加輕松,對(duì)于大型企業(yè)級(jí)項(xiàng)目更是如此。
17.版本控制系統(tǒng):
VSC工具(SVN,TFS,CVS等)對(duì)于團(tuán)隊(duì)合作開發(fā)以及版本控制都是非常重要的。熟練使用這類工具算得上是必備技能。
18.國(guó)際化:
通過(guò)i18n來(lái)將不同語(yǔ)種的字符串存儲(chǔ)在其他文件是讓軟件支持多語(yǔ)種最好的方法。所以i18n在不同的IDE上使用的方法我們應(yīng)該了解。
19.架構(gòu)模式:
理解類似MVC,MVP,MVVM這樣的架構(gòu)模式非常關(guān)鍵,這能讓你寫出易維護(hù),簡(jiǎn)潔以及方便測(cè)試的代碼。
20.編寫干凈的代碼:
你的代碼僅僅只是能夠正常運(yùn)行是遠(yuǎn)遠(yuǎn)不夠的,它必須讓編程人員輕易看懂來(lái)方便后續(xù)維護(hù),所以,代碼格式以及編寫易讀的代碼技術(shù)都是我們需要了解的關(guān)鍵點(diǎn)。
相關(guān)文章推薦:
【軟件工程師必須知道的20個(gè)常識(shí)】相關(guān)文章:
軟件工程師必須知道的10個(gè)概念03-20
關(guān)于SDRACCAer們必須知道的這些常識(shí)03-20
必須知道的美國(guó)留學(xué)租房常識(shí)03-25
學(xué)化妝必須知道的知識(shí)01-09
備考雅思 這些必須知道!03-20
啞鈴健身必須遵循的健身常識(shí)03-03