測試……一年前,我開發的時候還是很不在乎測試,不過那個時候也沒人告訴我測試的重要性。知道意識到要提高自己,學習中看到了那麼多提到測試的,所以慢慢的嘗試使用(大部分是單元測試),然後深深的愛上了單元測試(其他測試呢,好吧,程式設計中的確比較少用到其他測試,我比較懶)。
作者在前面反覆提到測試在重構中的重要性,這章就是介紹測試的。
自我測試**的價值:
編碼往往只佔了開發中的小部分時間,很多時間不是在溝通、設計,就是在找 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 最小生成樹的過程非常類似 ...