oo 第一次博客做業

oo 第一次博客做業

早在大一就據說了oo的各類傳奇故事,大二下學期終於也開始了個人oo之旅。java

基於度量來分析本身的程序結構

第一次做業

  • 類圖分析

  • 耦合度分析

能夠看出在第一次做業中,個人耦合度很是高,還停留在面向過程式的設計。編程

第二次做業

  • 類圖分析

  • 耦合度分析

能夠發如今第二回做業中雖然我有意識的拆分類,但組織結構仍然很差,耦合度仍然很高。設計模式

第三次做業

  • 類圖分析

  • 耦合度分析

能夠分析發現,此次的做業有了一些oo的樣子,對input, output, terms有了各自的package,而且耦合度較前兩次下降了一些。但設計的架構仍然不夠優秀,有很大的進步空間。架構

本身程序的bug

在前兩次做業中,我在互測中有bug。函數

  • 第一次做業出現bug的緣由是沒有讀懂指導書,在ddl截至前才明白非法空格的含義,在改動代碼時過於慌忙,沒有處理字符串開頭和結尾的非法字符。學習

  • 第二次做業產生的bug在優化中,由於是熬夜寫的,沒有進行充分的測試,且是面向過程式的思考結果。測試

如何發現別人的bug

對於找到別人的bug,我主要有兩個思路。優化

  • 首先是針對指導書的邊界樣例進行總結和測試。設計

  • 其次是編寫自動化測試。對象

其餘

前三次做業我有很多進步,但整體不算滿意。

下面分爲收穫和不足兩部分來總結。

收穫:

  • 有了面向對象的基本概念,對繼承和接口有了初步的認識。

  • 開始學會先設計再寫代碼的思惟方式,明白了設計結構對完成代碼的重要性。

  • 在閱讀別人代碼的過程當中學習到一些java編程的技巧和方式。

不足:

  • 時間規劃上有很大不足,有過熬夜到很晚的經歷。

  • 設計仍然不夠簡潔和精巧,寫的代碼結構複雜,不夠明瞭。

  • 測試不足,有兩次互測中被測出bug的經歷。

  • 對多態和設計模式等了解不足,應用不足。

  • 我對本身的自學和探索能力不太滿意。

以後規劃內的改進:

  • 有獻血計劃,因此oo做業絕對要及時完成,不在晚上十一點半後編程。

  • 多閱讀優秀的項目代碼,提升姿式水平。

  • 補充課外閱讀讀物,擴展設計模式知識。

對總體oo學習的感想:

  • 對做業內容不算滿意,感受沒有展示足夠的oo思想。

  • 對課堂內容不太滿意,這裏舉兩個例子。第一是某節課講到的clone函數,老師並未提到任何關於深拷貝和淺拷貝的內容,只強調了和=直接賦值的區別,但直接使用clone()是淺拷貝,和直接=賦值有一樣的改變其中之一的值,另外一個隨之改變的問題,這纔是編程中常遇到的坑。第二是關於接口,首先我先說明這節課因爲我趕一個ddl沒有特別認真的聽課,但課後看ppt的過程,接口部分舉的例子是同一層的所有類使用接口,這讓我產生了極大的困惑,這和實現繼承父類的抽象函數有什麼區別嗎?在系羣中提問後才明白了接口的真正意義所在,解決除簡單的樹形結構外其餘組合的可能性。我認爲這是ppt設計很是很差的一個典型例子,舉一個特別不typical的例子,而不展示重點。

  • oo仍是更可能是一個自學的過程,討論也很重要。

  • 由上可見我在第三次做業中的設計仍然很是彆扭,不是最佳的表達式,項和因子的形式。預計重構遞歸降低的過程,參考助教提供的enum寫法。

相關文章
相關標籤/搜索