軟件工程(C編碼實踐篇)學(xué)習(xí)總結(jié)

SA17225237 駱禎梓
原創(chuàng)作品轉(zhuǎn)載請注明出處
《軟件工程(C編碼實踐篇)》MOOC課程
http://mooc.study.163.com/course/USTC-1000002006

學(xué)習(xí)心得

本學(xué)期非常榮幸的選上了孟寧老師的高級軟件工程,相比于之前上過的課,本門課程配套了這一個線上課程,并且還有實驗,覺得這種模式才是大部分計算機(jī)專業(yè)課應(yīng)該效仿的,就像老師課上說過的,如果是傳統(tǒng)的課堂授課模式,那跟上政治課沒什么區(qū)別。
在這次線上課程中,我熟悉了 Linux 開發(fā)環(huán)境以及 git 的使用,了解了代碼規(guī)范的意義以及具體規(guī)范,學(xué)習(xí)了模塊化、接口化、回調(diào)函數(shù)、線程安全、可重用設(shè)計等豐富的內(nèi)容,課程時間雖然不長,但內(nèi)容確實是干貨滿滿的。

歷次實驗

實驗一:寫一個 hello world 小程序

實驗二:命令行菜單小程序 V1.0

實驗三:內(nèi)部模塊化的命令行菜單小程序 V2.0

實驗四:用可重用的鏈表模塊來實現(xiàn)命令行菜單小程序 V2.5

實驗五:用 callback 增強鏈表模塊來實現(xiàn)命令行菜單小程序 V2.8

實驗六

  • 這一周的課程學(xué)習(xí)的是函數(shù)的可重入性和線程安全的內(nèi)容,只有一次隨堂測驗,沒有進(jìn)行實驗。

實驗七:將 menu 設(shè)計為可重用的子系統(tǒng)

  • 實驗報告:https://www.shiyanlou.com/courses/reports/1303767
  • 實驗代碼:https://github.com/LuoZhenzi/SE/tree/master/lab7
  • 實驗收獲:在這次實驗中,我們?yōu)?menu 子系統(tǒng)設(shè)計接口,并編輯了 test.c 文件來實現(xiàn)原來的功能,在編譯過程中,我們使用 make 和 make clean 來編譯程序和清理自動生成的文件,避免輸入冗長的編譯命令,提高效率,在 test.c 中,我們自定義了帶參數(shù)的命令,學(xué)習(xí)到了命令行參數(shù)的用法。

學(xué)習(xí)總結(jié)

時間過得很快,短短幾周的學(xué)習(xí)馬上就要結(jié)束了,作為本科非計算機(jī)方向的學(xué)生,這門課程對我的幫助非常大。
在這幾周的課程中,我感覺自己真正開始入門了軟件工程這一學(xué)科,在之前的學(xué)習(xí)中,我關(guān)注的僅僅是怎么樣編寫代碼來實現(xiàn)某一目的,殊不知這種程度距離軟件工程的要求還離得很遠(yuǎn),在學(xué)習(xí)了這門課程之后,我明白了軟件開發(fā)不僅僅是要實現(xiàn)某一功能,還要求我們在編寫代碼時注意代碼的規(guī)范,在軟件設(shè)計的過程中注意模塊化、接口、信息隱藏、增量開發(fā)、抽象、一般化等原則,這對于今后的學(xué)習(xí)工作都有著深遠(yuǎn)的意義。
然而,課程時間確實也太短了,再加上自己并非科班出身,感覺自己對軟件工程這一學(xué)科的了解只是冰山一角,自身基礎(chǔ)的薄弱也導(dǎo)致了自己對很多東西學(xué)習(xí)的并不透徹,希望在今后的學(xué)習(xí)工作中能夠繼續(xù)加強自己的能力。
最后,感謝孟寧老師在本學(xué)期對我的幫助。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容