2017年4月11日 星期二

the DevOps journey – 在Visual Studio版控比較多個檔案差異

這功能一點都不特別,但很重要,而且我記得我是在用了很久Visual Studio的TFVC版控之後,某一天偶然發現的。

我不知道是否每個人都跟我一樣,我自己在寫程式的時候,習慣在程式碼Check-in之前,對比一下這次修改了哪些東西? 確認無誤之後再Check-in ,會養成這習慣,是因為這小小的動作救了我很多次。

有不只一次,當我這麼做時,留意到了一些原本沒注意到的細節,諸如…在Method裡面忘了檢查參數內容是否正確? 沒有判斷空值或null是否合理? IO處理可能發生exception的地方沒有掛上try…catch…等等,太多了,只要養成review自己的code的習慣,你會發現,常常能購找到可以改善之處。

這個動作會迫使我在簽入前重新看一次剛才自己寫的code,有點自己review自己程式碼的感覺。所以,現在每當我程式寫到一個段落之後,都會習慣的在要比較的那隻程式碼檔案上,點選一下滑鼠右鍵,選擇Compare…比較一下和上一個版本的差異…

但這樣可能會漏掉了某些改過的檔案沒注意到,因此,最好的習慣是在Check-in的那一刻,在該檔案上點選Compare with …

因為版控機制幫你列出了所有修改過的檔案,如此一來,你就不會錯過哪一個檔案。

一般來說,過去在簽入程式碼到伺服器端前,我肯定會一個一個逐一比對,看看和伺服器端的檔案有何差別。(確認改了哪些東西)。

但有時候,Visual Studio會把附屬性質的檔案(例如.aspx.cs, .aspx.designer.cs,當作已修改,但其實它並沒有被改到,真正改到的只有.aspx而已。這時候,一個一個比對很煩人。(浪費時間)

不知道從哪一天開始,我突發奇想,難道Visual Studio不能一次比對多個檔案,先幫我確認哪些檔案有改過,讓我只review有改過的檔案嗎? 有了這個想法,當場嘗試看看能不能用滑鼠Mark多選幾個要簽入的檔案,發現,居然可以耶…

但,卻不能比較(Compare選單disable了)

不死心,又突然想到,那如果選擇資料夾呢?

咦? 可以耶,快來試試看。
你會發現,點選Compare後,會出現底畫面:

Visual Studio真的去幫我對比整理出了所有該資料夾下的檔案,僅列出有修改差異的部分,你還可以在該檔案上double-click,看到細部的差異比較:

這節省了我很多時間,我只需要把程式改完,在check-in前面,一次比對所有檔案的差異,不僅讓我安心check-in,對提升程式碼品質也有助益。

Visual Studio,地表最強開發工具,你當之無愧。
------------------------------
本系列文章索引位於 http://studyhost.blogspot.tw/2017/02/the-devops-journey-index.html
本網站不放廣告、完全免費。若這篇文章對您有所幫助,請點選這裡加入FaceBook專頁按讚並追蹤,也歡迎您幫我們分享出去,謝謝您的支持。

沒有留言: