《重構》學習筆記四

2021-09-01 03:51:39 字數 734 閱讀 1180

測試……一年前,我開發的時候還是很不在乎測試,不過那個時候也沒人告訴我測試的重要性。知道意識到要提高自己,學習中看到了那麼多提到測試的,所以慢慢的嘗試使用(大部分是單元測試),然後深深的愛上了單元測試(其他測試呢,好吧,程式設計中的確比較少用到其他測試,我比較懶)。

作者在前面反覆提到測試在重構中的重要性,這章就是介紹測試的。

自我測試**的價值:

編碼往往只佔了開發中的小部分時間,很多時間不是在溝通、設計,就是在找 bug

。。。專業點,應該叫除錯( debug

)。測試的主要作用就是幫助除錯,幫助開發中發現潛在的 bug

,這樣我們就可以少話點時間在除錯上了。頻繁進行測試是極限程式設計(下乙個學習的內容)的重要一環。

確保所有測試都是自動化,讓它們檢查自己的測試結果。

一整組測試就是乙個強大的 bug

偵測器,能夠大大縮減查詢 bug

所需要的時間。

junit

看來 junit

的歷史很悠久啊,作者寫書的時候就已經很成熟了。我想這個不需要多說了,現在有關 junit

的介紹到處都是。我也喜歡用 junit

,不過看書中的介紹的 junit

的基本使用有點老了,完全忽略吧。

重構前先為需要重構的功能構建好測試用列,在重構中,每次變動都需要進行測試,以確保重構沒有給程式帶來什麼bug。這個很重要。

Kruskal重構樹 學習筆記

kruskal重構樹 性質 1.是乙個小 大根堆 由建樹時邊權的排序方式決定 2.lca u,v 的權值是原圖u到v路徑上最大 小邊權的最小 大值 由建樹時邊權的排序方式決定 kruskal重構樹 建樹 模仿kruskal的過程,先將邊權排序 排序方式決定何種性質接下來說明 依次遍歷每條邊 若該邊連...

學習筆記 Kruskal重構樹

kruskal 求最值生成樹時需要通過邊合併兩個之前不相連的連通塊 這時候通過建立虛點表示兩點之間有連邊,同時將邊的資訊記錄到虛點上 所以如果查詢原圖上的兩點間路徑上的極值,可以考慮維護重構樹路徑上點權的資訊 大概長成這樣子,變數名還是比較大眾化的 nodes n for int i 1 i m i...

學習筆記 Kruscal 重構樹

網上感覺沒有什麼很詳細 證明的講解啊 前置 kruskal 求最小生成樹。這個演算法可以將一棵樹 無向連通圖重構成一顆有性質的新樹。演算法可以解決一些樹上瓶頸邊權之類的問題,可以把需要持久化的並查集給代替掉。設 f i 為 i 所在聯通塊的根。演算法流程和 kruskal 最小生成樹的過程非常類似 ...