<高階軟體工程>結課總結
高階軟體工程結課總結
SA20225477 軟體設計2班 文泓遠
一:5個實驗
- 程式設計神器VS code
- 五大場景玩轉Git
- 正則表示式使用
- 用VS code + draw.io 畫UML用例圖
- 實驗驗證軟體中的特殊機制
二:實驗概述及心得感悟
1:編輯神器 VSCode
Visual Studio Code(vscode)是一個輕量且強大的程式碼編輯器,支援Windows,OS X和Linux。內建JavaScript、TypeScript和Node.js支援,而且擁有豐富的外掛生態系統,可通過安裝外掛來支援C++、C#、Python、PHP等其他語言。VS Code專注於開發者“最常用”的功能:編輯器+程式碼理解+版本控制+遠端開發+除錯。vscode 通過在商城新增不同的外掛可以滿足不同的程式設計師(前端、後端、測試等)的要求,vscode是一個非常受程式眼歡迎的軟體。VS Code 統管所有使用者介面互動,制定使用者介面互動的標準,所有使用者的操作被轉化為各種請求傳送給外掛,外掛響應這些請求,外掛程序只能專注於業務邏輯處理,這樣UI介面渲染與業務邏輯隔離,從而做到一致的使用者體驗。並且VS Code能同時支援多語言的開發環境,而多語言支援的基礎就是Language Server Protocol(LSP)。
2:五大場景玩轉Git
Git是一種分散式版本控制工具,主要用於對文字資料進行版本管理。結合遠端Git倉庫,能夠實現多人合作開發的目的。在團隊合作方面起到很大的幫助。除了使用git add/commit/push/branch/pull 等 ,通過使用git rebase操作,還能夠實現在本地存在的部分分支節點不出現在遠端網路中,幫助我們理解了github的版本控制邏輯。
3:正則表示式使用
正則表示式,又稱規則表示式。(Regular Expression,在程式碼中常簡寫為regex)。正則表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。目前作為一個前端工程師在專案中經常使用到正則表示式完成一些功能,如電話號碼驗證,密碼校驗,賬戶校驗等等。正則表示式的特點是:1. 靈活性、邏輯性和功能性非常強;2. 可以迅速地用極簡單的方式達到字串的複雜控制。3. 對於剛接觸的人來說,比較晦澀難懂。
常用的正則表示式:1:匹配電話const regexMobileNumber = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/gi; 2:匹配郵qq/微信const regexQQNumber = /^[1-9]\d{5,10}$/gi;
4:
用VS code + draw.io 畫UML用例圖
使用了vscode 編輯器快半年了,第一次知道原來vscode可以直接畫UML用例圖。UML的全稱是Unified Modeling Language,即統一建模語言。draw.io是一款非常方便的繪圖工具,支援VScode外掛的同時還支援網頁端,而且網頁端的使用也十分方便。UML可幫助我們做軟體需求分析和軟體設計的工作。這二者的結合讓我們在完成實驗的同時,也對我們以後的學習和工作很有幫助。
5:實驗驗證軟體中的特殊機制
本實驗對軟體設計中一些特殊機制進行實現,包括回撥函式、多型、閉包、匿名函式和非同步呼叫。其中C++中有多型、回撥和匿名函式lamda的實現,我自身比較熟悉。而閉包和非同步呼叫主要是js中常用的手段,在網頁設計上完成環境返回和非同步的機制,因此簡單進行了嘗試,並試圖檢視C++中有沒有對應的實現。
三:課程總結
經過整整18周高階軟體工程的學習,作為本科非科班的同學收穫頗豐。無論是對於碼農使用的編輯器、git、正則表示式這些常用的技術,還是對於軟體工程這門課或者說這門科學的理解都更深一步了。學到了如何去分析軟體開發過程中的需求,什麼樣規範的程式碼才是好程式碼(更易理解、修改、維護)、以及關於軟體工程這門學科的起源、危機等等。在這門課上不僅能學到非常專業的學科知識,也能學到一些更深層次的思考與想法。
非常感謝孟老師這幾個月的辛苦教學,致敬!