Java第一次項目實訓總結

通過這次實訓,學到了許多東西,雖然以前也經常自己寫項目,但從來沒有這一次的收穫多,首先特別感謝華老師寫的這份課件,我是完完全全按照這份課件來學習的 。
這個項目光編碼我整整花了4天,整個項目大概有6000多行代碼,目前是我獨自寫過最大的項目了,一開始是跟着老師的代碼照着敲,後來發現,照着敲和複製粘貼又有什麼不一樣呢,然後我就花了一天的時間來逐行逐行看老師的代碼,,在實訓項目12之前,我看着是非常輕鬆的,後面的gui窗口花的時間多一點,因爲有一部分控件前面沒有學過,嗯,查了不不少筆記,總算搞懂了,

第一個收穫是使用接口:在我之前寫的一些項目,是沒有用過接口的,呃,上次和同學一起寫項目,爲了配合方便,使用過接口,然而通過這次實訓,終於懂了接口的正真奧義——接口在開發中的作用:接口在開發中的作用和多態一樣。多態是面向抽象編程,不要面向具體編程,提供程序的擴展力,降低程序的耦合度

因爲接口是完全抽象的,所以,面向抽象編程也可以稱爲:面向接口編程。有了接口就有了"可插拔",提供程序的擴展力,降低程序的耦合度。任何一個接口都有"調用者"和"實現者"接口可以將"調用者"和"實現者"解耦合"調用者"面向接口調用"實現者"面向接口編寫實現**接口在團隊中的作用,可以更好的使分工明確,一邊是調用者,一邊是實現者,,對調用的而言,我不用管你怎麼實現的,我只需要知道你需要我傳給你什麼參數,你能返回給我什麼參數就行,而對於實現者而言,我不用管你想幹嘛,我只需要知道你想讓我幹嘛就行,這樣在團隊開發過程中,先商議好各種藉口,然後自己做自己的工作,剛纔說到接口可以降低程序的耦合度,什麼是耦合度呢,耦合度就是某模塊(類)與其它模塊(類)之間的關聯、感知和依賴的程度。
爲什麼要降低耦合度呢?,我以前也有這樣一個疑惑,耦合度很高的情況下,修改代碼時修改一個地方會牽連到很多地方,如果修改時沒有理清這些耦合關係,那麼帶來的後果是無法預料的,用我們的家庭用電來說,接口就像是配電箱一樣,將我們的廚房用電,客廳用電,插板用電各自分開,哪裏有問題,修哪裏就好了,需要擴展線路的時候,直接再配電箱加一條線路就好了。並不會影響其他線路的使用

第二個收穫是設計模式,嗯,這個設計模式我以前沒學過,正打算學,不過在這次項目中,我能感受到設計模式帶來的好處,將數據底層,數據服務層,視圖層分開,各自實現各自的功能,,不光爲開發者創造出輕鬆愉快的編碼環境,也爲我這樣的閱讀者提供了非常清晰的閱讀路線。

第三個收穫就是先設計,再編碼,在我以前敲代碼的習慣就是,想到什麼就做什麼,常常在開發過程中想到其他功能,不得不修改甚至刪除剛剛寫好的代碼,嚴重影響開發效率,這就是事先沒有設計功能就編碼而導致的,當然這個問題在上上次的項目中已經總結過了。

第四個收穫就是注重細節:我常常因爲一些細節浪費許多的時間,在我學習編程過程中,大多數的bug都是字符錯誤導致的,這次又出現了,,在項目中有一個類名叫:“CollegeServiceImpl”,在前面編碼的時候我不小心把’l’打成了’i’導致後面排了20多分鐘的錯,幸虧用的是是idea,要是記事本的話,,估計沒個三五天是排不完的了。

第五個收穫是數據庫連接:因爲是先讀老師的代碼,再寫自己的代碼,所以就沒用老師的方法,後來迫於bug的無賴,最終還是改了回來,經過當時由於趕時間就直接改的老師的方式並沒有排查錯誤,後來通過請教老師,還是輕鬆解決了。bug是這樣的:在實現登錄過程中,需要通過提供的用戶名 獲取數據庫中密碼字段的數據, 在用戶名是中文字符串的時候,獲取到的數據是空,但是如果用戶名是數字字符串的時候,又能查到數據了,最終問題的解決方案是,在可能有中文的情況下,需要給條件變量加一個引號,現在想想,高中數據庫老師在做vba窗口時,還單獨給我重點講過,,,感覺挺對不起高中老師的·····

第六個收穫就是學會了使用Maven這個工具,這個工具是學長推薦我用的,在做項目開發時挺方便的,不用到處找jar包。當然目前學的這種小東西,還體現不出這個工具的威力,

第七個收穫是要注重基礎,這次項目中發現,這個將近7000行代碼的項目,80%都是用到一些重複的基礎知識,,接口、容器、封裝、什麼的,然而我在閱讀老師代碼的過程中,翻了很多次以前的筆記,,這一點恰恰反映出我基礎知識出現了很多的漏洞,這次結束就要回去補了。

第八個就是學會了封裝,以前我一直覺得封裝有點雞肋,就get和set方法,我以前除了題目特別要求,我很少寫成封裝的格式,這次項目中發現封裝的優點了,將不需要公開的屬性設置成私有,這樣可以降低整體項目的耦合度,好吧 ,我已經把耦合度這個名詞刻在腦子裏了。

第九個收穫是:課本上的知識是有限的,當然課件也是,在學習過程中,要依靠課件上有限的知識,去適當的擴展知識寬度,適當的擴展,也不要劍走偏鋒,,在這次項目中,後面的gui開發就讓我傻了眼,,讀代碼都很困難,何況是自己寫,最後不得不停下來學習其他的控件使用。

最後一點呢,就是要有一個無畏之心,不要懼怕,在我剛剛閱讀完這些代碼我是有點畏懼的,畢竟是第一次一個人寫這麼大的東西,代碼量還是蠻多的,,最後合理的安排時間,雖然途中有點坎坷,現在也還存在一些bug,(不影響正常使用,明天再改一天吧),最後還是寫完了,我以前挺害怕多線程的,,現在我覺得,只要合理安排時間,一點一點的學習,,學完多線程也只是時間問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章