1. 程式人生 > 其它 >高階軟體工程總結-SA20225484-吳思言

高階軟體工程總結-SA20225484-吳思言

實驗總結

實驗一:編輯神奇VSCode

  之前一直用vscode進行一些c++程式的編寫工作,但只是當做一個帶有外掛的編輯器在使用;通過實驗,瞭解了更多的vscode功能及快捷鍵,熟悉了之後能夠加快程式碼的編寫速度;之後嘗試了通過vscode,使用wsl+ssh遠端連結實現了在win下使用linux環境進行開發,可以撇開極其佔用資源的虛擬機器,體驗非常好。

實驗二:五大場景玩轉 Git

  Git是一個分散式的版本控制系統,之前只聽說過github,並不瞭解兩者之間的關係,學習之後明白了git的作用以及git的一些指令,例如 push、pull、clone、add、commit,但自己寫的工程還很小,並且並無協作的開發者,所以實際體驗下來,感覺git的版本對比是目前最實用的功能,可以很好的查詢程式與之前版本的不同之處,讓找到修改程式之後新增的bug簡單了許多。本次實驗的主要內容是在工作分支上進行多次提交後,在合併至master分支之前,對工作分支進行rebase操作,以精簡修改歷史,使分支更加簡介。

實驗三:正則表示式

  正則表示式描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。由於不怎麼接觸字串的相關處理,所以使用體驗不是很深,並且日常查詢文字,普通的搜尋也能夠滿足要求。但個人感受在HTML語言中,正則表示式應該會非常好用。在實驗檢查中,印象最深的是通過匹配符 ?的使用,可以將積極匹配模式轉為懶惰匹配模式,十分神奇。

實驗四: 用 VS Code + draw.io 畫UML用例圖

  之前畫用例圖都是在ProcessOn這個網站上使用拖拽的方式進行繪圖,感覺十分方便;但當沒有網路的時候,卻沒有了解過相關的軟體進行繪圖操作;vscode中能夠使用外掛直接進行繪圖,無疑是減少了環境切換、手動截圖等繁瑣的操作,總體體驗不錯。

實驗五:實驗驗證軟體中的一些特殊機制

  本次實驗主要是認識到回撥函式、多型、閉包、非同步呼叫、匿名函式等特殊機制在軟體專案開發中的重要作用,其中回撥函式、多型、匿名函式在c++11中均有相關機制,但閉包概念沒有在c++11中找到,而非同步這個概念則和具體的環境有關,例如linux環境下並沒有原生的非同步io呼叫,通常都會用同步io+反應堆來模擬非同步呼叫。但在js中閉包、非同步呼叫和匿名函式十分常見並應用廣泛,是非常優秀的機制,對程式邏輯的梳理,模組之間的解耦都有非常大的幫助。

實驗六:menu菜單系統

  本次實驗主要是實現了一個menu的選單子系統,在實驗中使用了通用連結串列模組,以及一個上層menu模組,通過抽象介面實現了兩個模組之前的解耦,並且實現了config介面,提供了自定義選單的功能,使menu這個模組能夠根據專案需要進行重用。

課程總結

  通過高階軟體工程這門課的學習,我瞭解到了許多軟體開發過程中所必備的知識,對於軟體工程有了更深一些的瞭解,同時讓我學習到了一些程式碼編寫的技巧以及如何組織和編寫程式碼使之能夠更加通用,或者具有迭代的可能。

課程意見

  通過看學長們的一些資料,瞭解到之前上課會有一個menu選單子系統的大作業,但是本學期並沒有佈置這個作業,感覺課程還是需要這樣的一個小專案來串聯所學到的工程知識,學以致用是成長最快的方式。