軟體工程師必須知道20個知識點你瞭解多少?
軟體工程師必須知道20個知識點,看看你瞭解多少?
1,針對物件導向的設計與分析:為了讓軟體有更好的可維護性,重用性以及快速開發, 簡短的OOAD與它的SOLID原則對於每一個軟體工程師來說都是該牢記的。
2,軟體品質因素:軟體工程的好壞與軟體的品質因素是絕對關聯的。請在開發過程中深 刻的理解這一點。
3,資料結構與演算法:深刻理解像陣列,列表,棧,樹,圖,集合等這樣的基本資料結構 ,並在軟體開發過程的關鍵部分使用好的演算法。這樣整個軟體邏輯就會很清晰了。
4,Big-O符號來標記演算法複雜度:在開發過程中,請務必使用 Big-O 符號來比較兩個代 碼段或者不同演算法所消耗的時間複雜度,這在開發高效能軟體專案中是非常重要的。
5,UML圖:UML圖已經是一個通用的軟體設計與分析的語言。如果你們在開發軟體的過程 中還沒有做UML圖,那麼給人的感覺就是這壓根就不是軟體工程。
6,正確的衡量軟體開發進度。
7,設計模式:設計模式是前人在解決各種各樣問題的過程中總結出來的一套標準對策, 在絕大部分情況下,使用這些模式肯定是利大於弊的。如果你不想在開發過程中重新造 輪子,那麼就直接使用它吧。
8,理解作業系統的基本原理:因為所有的應用程式都是直接執行在作業系統這個層級的 ,學習作業系統的基本原理能讓我們對應用程式的底層以及效能有更好的把握。
9,學習計算機組成原理:幾乎所有的應用程式甚至是OS都需要與物理硬體打交道的,所 以學習計算機組成原理與理解作業系統原理一樣都可以讓你對於應用程式有更深刻的理 解。
10,網路基礎:網路與計算機組成,作業系統以及傳輸流程都是緊密關聯的,理解網路基礎 能讓你在開發過程中得心應手。
11,需求分析:對於軟體工程來說,需求分析是專案的起點,也是整個專案最最重要的 部分。如果這玩意你搞錯了,整個專案的方向也就錯了。
12,軟體測試:在軟體工程中,測試也是非常重要的。單元測試,黑盒測試,白盒測試,TDD,整合測試等等都是我們必須知道的。
13,獨立管理:主要是說類庫(JAR,DLL等等)的管理,熟悉使用一些類似Maven,Ant,lvy這樣的知名工具對於大型專案的類庫管理是非常有用的。
14,持續化整合:持續化整合能讓測試大型模組與元件更加簡單與自動化,關於這一點,你可以去了解 Hudson 這個工具。
15,ORM:瞭解Hibernate這種將物件與資料庫表對映工具是非常有好處的,它可以減少你的程式碼量並節省你的程式碼維護時間。
16,DI(獨立注入):DI或者IoC(Inversion of Control)的具體實現框架Spring能讓你建立物件時更加輕鬆,對於大型企業級專案更是如此。
17,版本控制系統:VSC工具(SVN,TFS,CVS等)對於團隊合作開發以及版本控制都是非常重要的。熟練使用這類工具算得上是必備技能。
18,國際化:透過i18n來將不同語種的字串儲存在其他檔案是讓軟體支援多語種的方法。所以i18n在不同的IDE上使用的方法我們應該瞭解。
19,架構模式:理解類似MVC,MVP,MVVM這樣的架構模式非常關鍵,這能讓你寫出易維護,簡潔以及方便測試的程式碼。
20,編寫乾淨的程式碼:你的程式碼僅僅只是能夠正常執行是遠遠不夠的,它必須讓程式設計人員輕易看懂來方便後續維護,所以,程式碼格式以及編寫易讀的程式碼技術都是我們需要了解的關鍵點。
IT學習群:483787113(暗號: IT學習) 組團學習更高效,群裡優就業老師定期直播課學習、資源分享~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902763/viewspace-2636224/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 作為軟體工程師,你必須知道的20個常識軟體工程工程師
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- 關於JVM,你必須知道的這些知識點JVM
- 你必須知道的Java基礎知識Java
- Python入門必須知道的11個知識點Python
- 初學Python必須知道的11個知識點!Python
- 千萬淘寶店運營必備知識,你必須知道!
- 有關WebSocket必須瞭解的知識Web
- Java 異常你必須瞭解的一些知識Java
- 關於Flutter 您必須知道的知識點!!!Flutter
- 5G大規模商用來臨之前,你必須知道的幾個知識點
- Scrum Master 面試題 – 你必須知道的22個Scrum基礎知識ScrumAST面試題
- 程式設計師必須瞭解的知識點——你搞懂mysql索引機制了嗎?程式設計師MySql索引
- 人生苦短,瞭解一下前端必須明白的http知識點前端HTTP
- 關於索引必須知道的知識索引
- using 你知道多少?你必須知道的.NET讀書筆記筆記
- 關於Linux知識你瞭解多少呢?Linux
- 程式猿必須知道的關於 Tomcat 的知識點Tomcat
- 前端必須掌握的知識點前端
- 大學期間必須知道的JVM知識JVM
- JavaScript大師必須掌握的12個知識點JavaScript
- 高階 Java 必須突破的 10 個知識點!Java
- 高階Java必須突破的10個知識點!Java
- PHP初學者必須掌握的10個知識點PHP
- 檔案管理,你必須要知道的三個要點
- 關於機器學習你必須瞭解的十個真相機器學習
- 學習筆記:Android這四個你不可不知的知識點,你都瞭解多少?筆記Android
- Java程式設計師必須瞭解的7個效能指標,你都知道嗎?Java程式設計師指標
- 面試必問之 CopyOnWriteArrayList,你瞭解多少?面試
- 你必須瞭解的微服務架構設計的10個要點!微服務架構
- 瞭解最真實的日本遊戲市場,這五大點你必須知道!遊戲
- 玩轉智慧電視必知的幾點功能!電視設定你瞭解多少
- 每個Android開發者必須知道的記憶體管理知識Android記憶體
- Web前端開發工程師必須瞭解的HTTP知識Web前端工程師HTTP
- 作為 Android 開發者必須瞭解的 Gradle 知識 (譯)AndroidGradle
- 你必須知道的 SmartSql !SQL
- 帶你真正瞭解Java,Java程式設計師必學知識點整理Java程式設計師
- 常見的Web安全攻防知識點總結,你知道多少?Web