作為軟體工程師,你必須知道的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、編寫乾淨的程式碼:你的程式碼僅僅只是能夠正常執行是遠遠不夠的,它必須讓程式設計人員輕易看懂來方便後續維護,所以,程式碼格式以及編寫易讀的程式碼技術都是我們需要了解的關鍵點。
相關文章
- 軟體工程師必須知道20個知識點你瞭解多少?軟體工程工程師
- 作為軟體工程師你應該知道的100件事 - Harish軟體工程工程師
- 作為一個Java程式設計師,這 8 個開源類庫你必須知道!Java程式設計師
- 作為一個程式設計師,CPU的這些硬核知識你必須會!程式設計師
- 作為程式設計師,這些實用工具你必須要知道!程式設計師
- 作為ui設計師,你必須要熟練的幾款設計軟體UI
- 這10款好用的Windows軟體,你必須知道!Windows
- 作為嵌入式/軟體開發工程師你需要知道的東西工程師
- 想成為一名優秀的Web前端工程師,這5點你必須知道Web前端工程師
- 你必須知道的Java基礎知識Java
- 作為一名前端開發工程師,你必須掌握的WEB模板引擎:Handlebars前端工程師Web
- 你必須知道的 SmartSql !SQL
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- 在未來,軟體測試工程師必須熟通這八個技能!工程師
- JVM-Java工程師必須掌握的知識點JVMJava工程師
- 這幾個python常用的庫你必須知道!Python
- LLM部署,你必須要知道的幾個技巧!
- 作為一個軟體測試新手,你知道軟體測試的幾個方向嗎?
- Java中處理異常的9個最佳實踐,你必須要知道!Java
- 9102,作為前端必須知道 hook 怎麼玩了前端Hook
- 優秀的DevOps工程師必須具備的軟技能dev工程師
- Python入門必須知道的11個知識點Python
- 初學Python必須知道的11個知識點!Python
- Python 這10個字典操作你必須知道Python
- 關於JVM,你必須知道的這些知識點JVM
- 千萬淘寶店運營必備知識,你必須知道!
- ?你必須知道的Java泛型Java泛型
- Web前端開發工程師必須瞭解的HTTP知識Web前端工程師HTTP
- 關於索引必須知道的知識索引
- 演算法工程師必須要知道的面試技能雷達圖演算法工程師面試
- 關於Linux作業系統,這些你必須知道!Linux作業系統
- 前端設計師必須知道的10個重要的CSS技巧前端CSS
- 你必須知道的HTTP基本概念HTTP
- 你必須要知道的babel二三事Babel
- 檔案管理,你必須要知道的三個要點
- Python常用的開源框架,這三個你必須知道!Python框架
- JavaScript大師必須掌握的12個知識點JavaScript
- iOS工程師Mac上的必備軟體iOS工程師Mac
- 軟體工程師必讀的13本書軟體工程工程師