這周開始結對做業,還有對接的問題因而乎就看了一些關於接口、類的東西c++
因爲結對兩我的的空餘時間的重合度不高,因此仍是會有些時候是一我的寫,另外一我的上課。這樣就存在一個代碼的理解問題,還好隊友和我都是沒有記憶力的金魚,沒有了註釋可能本身都不知道本身幹了啥,因而乎在代碼裏面的註釋很關鍵,宜多不宜少,要讓隊友看懂本身寫了啥、要幹啥其實就是提示本身若是檢查的時候怎麼看懂本身的代碼,因此這一部分作的很好,即便有些代碼我沒有親自看着編寫可是在註釋的幫助下仍是能夠找到些許的小bug。充分地讓我認識到告終構整整齊齊,規範能夠很方便開發人員們的交流,節省不少時間(這個對於咱們這種一直處於補做業的學生黨極其重要!)更關鍵的是咱們這樣的萌新在寫bug的時候會很容易在debug檢查的時候快速找出問題。函數
固然,開發一個產品的時候時刻都要想着製做過程是一個迭代更新的過程,那麼就意味着咱們的功能要有較好的拓展性,能夠輕易的從初步功能擴展到最終功能,那麼就要保證一些代碼的靈活度能夠隨意的更改添加就能夠實現另外一個方向的做用debug
就像老師的十分貼切地比喻,編寫代碼就是像是搭積木同樣,不是每個方塊都要咱們本身親手寫,而是要重視代碼的複用!將一些複用度較高的函數封裝起來,這樣不只結構更加清晰,更加方便了檢查和拓展更改功能!對象
以上就是我對於軟件構造活動的可理解性,可擴展性,可複用性的理解繼承
真正的算是用上了c++的類這個東西來實現開發軟件,這才知道告終構體與類之間的關係,ADT與類之間的類似之處,對類與對象的認識和理解有了新的高度接口
合理的運用ADT能夠帶來兩點巨大的不一樣:開發
1·統一了現實世界(問題空間)和軟件世界(解空間)的術語。開發人員能夠像是在真實的世界裏面同樣合理地操縱軟件世界的事物(對象),這讓開發人員的思想過程更加的貼近人類生活的過程,思考的方向更加的天然而高效;不只如此,還方便了代碼的理解,容易避免錯誤產品
2·隔離了變化。相似於宏的做用,在修改代碼的時候能夠減小修改的量,同時也減小了錯誤的數量,也不須要修改者詳細地理解原來的代碼的做用就讓更新工做更加讓人放心大膽的作擴展
封裝:認識到封裝的意義和做用才能知道在那些地方應該封裝起來,逐漸逐漸的讓本身的代碼的風格更加清晰規範化只有封裝好了纔能有積木可搭,因此源頭的產生很重要的軟件
封裝就意味着隔離,那麼應該隔離什麼,該彙集什麼就是一個十分值得考慮的問題,應該以操做數據的類型爲依據仍是以各類數據的共通的方法爲依據,好比:是以圖形爲依據分類,仍是以對圖形的各類處理爲依據分類
繼承與多態:將類的特色,數據或者是方法繼承過來,很相似於複用代碼,再加上能夠增長本身的特點就算是多態了,這樣就能有清晰的層次,增長了代碼的可讀性,和拓展性