OO第四单元总结
本單元總結(jié)
第一次作業(yè)
- 需求分析:對(duì)UML類圖相關(guān)屬性進(jìn)行相關(guān)查詢操作
- 架構(gòu)總覽
- 分析
- 按照要求逐層細(xì)化
- 由下而上的建立具有更多信息的原子
- 如:UmlClass擴(kuò)充為有AttributeList、FatherList等附加屬性的MyClass
- 根據(jù)層次從屬關(guān)系將原子組合為架構(gòu)
- 將架構(gòu)搭好后,具有針對(duì)性的查詢更加簡(jiǎn)單便捷
第二次作業(yè)
- 需求分析:對(duì)類圖、順序圖、狀態(tài)圖進(jìn)行相關(guān)查詢操作
- 架構(gòu)總覽
- 分析
- 與上一次作業(yè)相似,按照需求搭建具有更多細(xì)節(jié)的架構(gòu)
- 類圖部分沒(méi)有太多變化
- 順序圖與狀態(tài)圖按照特征模仿類圖進(jìn)行層次化搭建
- 添加附加細(xì)節(jié)
- 由下至上不斷構(gòu)建
- 有效性檢查考察遞歸知識(shí)等操作,加深對(duì)UML圖的理解
四個(gè)單元中架構(gòu)設(shè)計(jì)與OO方法理解的演進(jìn)
? 回想一下第一次作業(yè)的代碼,在不知不覺(jué)間其實(shí)還是有了相當(dāng)?shù)倪M(jìn)步。第一單元純粹是未入門的瞎寫,還記得第一次作業(yè)我甚至搞不懂如何將代碼拆分成幾個(gè)文件、如何互相引用,于是使用了一個(gè)巨大的類和一堆內(nèi)部類一main到底。第二單元魔鬼電梯的現(xiàn)實(shí)問(wèn)題讓我對(duì)OO的對(duì)象的拆分、對(duì)象間關(guān)系、架構(gòu)有了更多的理解,在這個(gè)單元里,我有了初步的架構(gòu)思維并嘗試著拆分代碼。值得一提的是觀賞了331大佬的代碼,頭一次對(duì)代碼有了沖擊性的觀感體驗(yàn),頭一次認(rèn)識(shí)到代碼的美感。而在第三四單元中,架構(gòu)的概念本身就很明顯,代碼的實(shí)現(xiàn)基于本身的架構(gòu)特性即可,層次與組合的使用更加常見。
? 關(guān)于OO的方法、思維更是有了不小的改變。從最開始的搞不懂概念,不明白如何從面向?qū)ο蟮慕嵌确治鰡?wèn)題,到現(xiàn)在能夠?qū)?wèn)題抽象出對(duì)象,從面向?qū)ο蟮慕嵌瓤创龁?wèn)題。不斷地練習(xí)和分析反思問(wèn)題對(duì)OO幫助巨大。
四個(gè)單元中測(cè)試?yán)斫馀c實(shí)踐的演進(jìn)
? 第一單元開始時(shí)對(duì)測(cè)試的理解只是停留在想想測(cè)測(cè)的水平,對(duì)問(wèn)題的測(cè)試覆蓋甚至相當(dāng)不全面。在了解同學(xué)的測(cè)試后,學(xué)習(xí)到了代碼需要進(jìn)行覆蓋式的測(cè)試。從問(wèn)題的各個(gè)方面,從代碼的每一行,從情況的多種可能性出發(fā),全面地不重不漏地對(duì)代碼進(jìn)行測(cè)試。并且對(duì)測(cè)試有了更深的理解,測(cè)試的編寫實(shí)際與代碼本身的編寫息息相關(guān),測(cè)試的考慮基于對(duì)問(wèn)題的考慮,因此存在測(cè)試導(dǎo)向的代碼編寫。
? 第二單元接觸的是情況紛繁復(fù)雜的多線程調(diào)試。使用樸素的print調(diào)試方法,思考問(wèn)題可能存在的結(jié)點(diǎn),從多線程并行紛繁運(yùn)行的過(guò)程中,使用自己輸出的信息進(jìn)行調(diào)試測(cè)試,讓我對(duì)測(cè)試應(yīng)該如何找可能出現(xiàn)問(wèn)題的結(jié)點(diǎn)有了更深的理解。
? 第三四單元?jiǎng)t是單元測(cè)試的接觸。單元測(cè)試能更具體更細(xì)節(jié)的測(cè)試代碼的每個(gè)部分,對(duì)代碼每個(gè)部分進(jìn)行針對(duì)性的測(cè)試,對(duì)全覆蓋化的測(cè)試更有優(yōu)勢(shì)。
? 整個(gè)課程的學(xué)習(xí)中,認(rèn)識(shí)到測(cè)試的重要性。對(duì)代碼進(jìn)行自我測(cè)試,一方面是找出代碼中的問(wèn)題,另一方面更是不斷思考需求及代碼實(shí)現(xiàn)可能出現(xiàn)的問(wèn)題,與代碼實(shí)現(xiàn)相輔相成。
課程收獲
? 首先是對(duì)JAVA語(yǔ)言有了一定的理解和練習(xí),明白了一門語(yǔ)言的入門過(guò)程其實(shí)并不是太難,難的是語(yǔ)言在實(shí)際應(yīng)用中對(duì)特性的靈活理解運(yùn)用。其次學(xué)習(xí)到了一些工程化的開發(fā)技巧,從第二單元中學(xué)習(xí)到了如何將實(shí)際問(wèn)題抽象模擬為代碼,從第三四單元中學(xué)習(xí)到了架構(gòu)和規(guī)范化的重要性,以及認(rèn)識(shí)到了測(cè)試的重要性。
? 其次互測(cè)環(huán)節(jié)的出現(xiàn),讓我有機(jī)會(huì)閱讀別人的代碼,并嘗試找出別人的bug。這一體驗(yàn)是新穎的,并且在閱讀別人代碼的過(guò)程中,感受到了每個(gè)人對(duì)于問(wèn)題的理解實(shí)現(xiàn)不同,在解決問(wèn)題時(shí)有了嘗試不同思路的想法。
課程建議
OO是一次感受比較復(fù)雜的體驗(yàn),希望課程設(shè)計(jì)越來(lái)越好,越來(lái)越能讓人感受到“真實(shí)學(xué)到了什么”,老師助教們辛苦了。
轉(zhuǎn)載于:https://www.cnblogs.com/Pampamda/p/11067073.html
總結(jié)
- 上一篇: 最终一致性。
- 下一篇: asp图片截图代码并且利用asp上传图片