路過的小游俠SA17225272 + 原創(chuàng)作品轉(zhuǎn)載請注明出處 + 《軟件工程(C編碼實踐篇)》MOOC課程http://mooc.study.163.com/course/USTC-1000002006
1. 學習心得
時間飛快, 十一周的課程就這么結(jié)束了, 三個月, 說短不短, 說不短, 卻總有寫不舍, 話不多說, 還是談?wù)勎宜斫獾能浖こ贪?
說實話, 學了這么多年的計算機, 卻沒學過軟件工程設(shè)計. 在修這門課之前, 所謂軟件工程在我看來就是管理人員學的, 是"軟件管理", 是管理人員要學的. 事實卻非如此, 或者非僅僅如此. 軟件工程涉及管理,包括計劃、資源雕拼、質(zhì)量、成本等, 但不僅限于管理, 還包括規(guī)范制定, 系統(tǒng)設(shè)計, 以及計算機,數(shù)學相關(guān)的知識. 總的來講, 我覺得這是一門交叉學科.
這學期, 學習收獲主要是軟件質(zhì)量, 軟件設(shè)計思想, 以及最重要的技術(shù)實踐, 雖有艱辛, 但邁過坎坷之后的成功的收獲, 也是物超所值.
另外, 這學期斷斷續(xù)續(xù)的把軟件工程的經(jīng)典書籍 <<人月神話>> 和<<黑客與畫家>>看完了, 不談多高深的領(lǐng)悟, 起碼談?wù)撈饋? 也能說上兩句.
最后, 我有點心里話要講, 平庸者怨天尤人, 平凡著循規(guī)蹈矩, 而只有那些卓爾不群, 敢想敢做的人, 才會活出自己的精彩. 線下課程有挑戰(zhàn)性并不可怕, 天賦有限也不必自餒, 可恥的是某些平庸者.
以上, 同時自勉.
實驗報告
實驗一: Hello World!
程序員的開始
實驗二: 命令行菜單程序v1.0
要求是規(guī)范化的代碼
實驗三: 內(nèi)部模塊化的命令行小程序
如題, 強調(diào)模塊化, 使用規(guī)范合適的接口來耦合鏈表和主程序. 這算是軟件設(shè)計初試牛刀.
實驗四:用可重用的鏈表模塊來實現(xiàn)命令行菜單小程序
提到了可重用的概念, 這就是關(guān)注代碼的通用性(擴展性).
實驗五: 用callback增強鏈表模塊來實現(xiàn)命令行菜單小程序V2.8
什么是callback函數(shù), 如何使用callback函數(shù), callback函數(shù)的優(yōu)點, 本例是個很好的學習例子.
實驗六: 測試
只有一個課程測試
實驗七:將menu設(shè)計為可重用的子系統(tǒng)
這次的目標是把menu作為一個模塊給其他系統(tǒng)調(diào)用.
給命令加了參數(shù), 練習了makefile, 再加上了解實踐了getopt函數(shù).
我們就完成了一個Linux下的程序用戶接口程序.
總結(jié)
這門課帶領(lǐng)我們建立了再軟件工程領(lǐng)域的思維框架, 這個框架我get到的核心要點是: 軟件質(zhì)量(規(guī)范), 工程思想, 設(shè)計模式等等.
線下實踐(vue.js)是一個需要我們自主學習, 拓寬視野, 挑戰(zhàn)自己的目標, 也是對這門課實踐的最好的渠道. 遺憾的是, 不是做前端方向的, 否則賺大了.
最大的收獲還是提升了視野, 老師對工程的理解, 人月神話, 黑客畫家這樣的經(jīng)典之作給了我很多的啟迪, 也構(gòu)建了我對對整個領(lǐng)域的框架. 這種見識的整體提升是我最大的收獲.
最后, 謝謝老師, 也謝謝自己.