學完《軟體工程(C編碼實踐篇)》之後的總結

來源:互聯網
上載者:User

標籤:

學完《軟體工程(C編碼實踐篇)》之後的總結

       By: 紀*保*華 + 原創作品轉載請註明出處 + 《軟體工程(C編碼實踐篇)》MOOC課程http://mooc.study.163.com/course/USTC-1000002006 

 

Part1  對代碼層面的軟體工程的理解及學習心得體會

      作為一個此前未系統學習過軟體工程的學生,在學習本門課程之前,對軟體工程的印象僅僅是一本厚厚的教科書和枯燥無味的文字描述,就代碼層面來說,也僅僅是停留在代碼量和代碼規範的淺顯理解上。

      在這兩個月的學習過程中,從一開始的熟悉linux開發環境,到慢慢發現軟體工程並非只有枯燥的教科書,也並非只有代碼量和代碼規範,學習下來,收穫很多。

好的軟體工程代碼是講究設計規範的,講究模組化思想,是需要保證安全執行緒的,子系統的介面需要是可重用的。

      在設計規範上,需要做到以下幾點:(1)保證代碼是簡單的,例如一個函數只做一件事,一個模組只做一類事的;(2)遵循“不和陌生人說話”的原則,封裝類,保證一個對象對另一個對象瞭解的儘可能少。(3)合理使用資料結構、控制結構等來簡化代碼;(4)要有錯誤處理。

      在模組化的思想中,講究高內聚低耦合,介面是規範的,代碼是通用的。例如,按照可以用callback函數實現多態以便介面更加通用,實現資訊隱藏。

在處理多線程問題中,需要關注函數是否是可重新進入的,使用互斥鎖以保證多安全執行緒等。在子系統的設計當中,設計出可重用的介面是很受用的。

      此外,在linux下對代碼的編譯可以編寫Makefile檔案,然後直接用make命令編譯會省事不少。

      學習過程中,應當要多動手寫代碼,邊寫邊理解,寫完了之後再回顧和不斷最佳化代碼,把相關的模組串聯起來思考,理解它們之間的內在聯絡。

  

Part2  實驗報告匯總

(1)實驗報告一

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

 (2)實驗報告二

實驗二:命令列菜單小程式V1.0,具體要求參見視頻

 (3)實驗報告三

實驗三:內部模組化的命令列菜單小程式V2.0

 (4)實驗報告四

實驗四:用可重用的鏈表模組來實現命令列菜單小程式V2.5

 (5)實驗報告五

實驗五:用callback增強鏈表模組來實現命令列菜單小程式V2.8

 (6)實驗報告七

實驗七:將menu設計為可重用的子系統

  

Part3  總結

      在軟體工程開發過程中,需要注重代碼規範、設計規範、模組化、安全執行緒、子系統要可重用等,寫出易讀而又高效安全的代碼。遺憾的是沒有組隊做一個完整實用的軟體工程應用項目。

 

學完《軟體工程(C編碼實踐篇)》之後的總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.