2017年6月25日 星期日

[git]開始使用git - 用git操作svn repo

git作為分散式版控的一項優勢是可以在offline的情況下查到log,並且能夠隨時隨地commit;這個對於當中央repo在公司內部的時候會更加有感(因為通常內部都要透過vpn,就有可能導致速度慢,甚至有些vnp還會切斷你的外網, 沒有google要怎麼寫code XD)

很不幸的,如果你今天被要求使用svn或者tfs,你就沒有辦法像git一樣在無連線狀態下查log。

但是別絕望,git其實可以透過一個Bridge來和svn溝通,從外部來看,你好像還是使用svn,但是其實你實際上使用git。所以git的那些優點(local有一個版本,因此可以local commit,快速切branch等)完全可以使用。

這是一個很好開始嘗試git的方式。

題外話,我當初接觸git就是為了他的local功能,因為實在太好用了,最後慢慢就希望全部換成git。

昨天有幸為 Study4的6月場次介紹git,其中有學員有特別提到關於git和svn溝通的部分, 因此把當初所做的事情作了一些整理。如果有任何地方看不懂或者有缺或者漏的地方,在留言給我。

2017年6月18日 星期日

[git]重新命名檔案的方式和如何在log檢查到改檔名前的歷史記錄

how to properly rename in git and show the log of previous rename

當持續在改檔案內容,容易發生當初為這個檔案取的名字已經不適合描述目前內容的情況,所以會對檔案名稱做修改。

最好的例子就是重構,當重構的時候很容易發生class名稱變換,這個時候會一起調整class的檔案檔名避免未來不好找。

不過當有天需要追蹤那個檔案的變更歷史的時候,會突然發現,只有 從新檔名那段開始有記錄,而舊檔名的記錄則看不到。這個對於從svn轉過來的使用者來說是無法理解的。

在這篇將會針對這個常見的問題來談到解決的方式和為什麼git會是這樣運作。

rename以前的log不見了
rename以前的log不見了
2017年3月28日 星期二

[Visual Studio]如何在Visual Studio 2015使用C#7的功能?

隨著Visual Studio 2017發佈之後,C# 7也同時發佈了。

C# 7 和 C# 6一樣,帶來都是比較偏幫助開發的時候寫起來更加簡潔的一些寫法,因此很容易就會想要使用來增加易讀性。

這個時候如果團隊使用的Visual Studio版本不同,容易就會發生編譯問題,以Visual Studio 2015來說,在編譯C# 7 就會出錯,那是否就不能夠用了呢?

2017年3月12日 星期日

[Visual Studio 2017]建立離線安裝(Offline Install)包

「工欲善其事,必先利其器」作為.Net 開發者來說最大的利器就是Visual Studio。

最近Visual Studio剛過完20歲週年並且發佈了最新版本VS 2017,當然要第一時間來試試看到底可以對開發增加多少幫助,這個時候會發現,怎麼都找不到離線安裝的版本了呢?

這篇將會介紹如何建立離線安裝版本的安裝檔。

2017年1月15日 星期日

[iThome第8屆鐵人賽 20]靜態程式碼分析之程式碼風格 - Stylecop

在上篇介紹了如何透過使用Code Analysis來達到程式碼品質的分析。

在這一篇將會從另外一個層面介紹使用靜態程式碼分析來達到程式碼風格的一致性 - Stylecop。

[iThome第8屆鐵人賽 19]靜態程式碼分析之Assembly品質分析 - Code Analysis(以前的FxCop)

在了解完如何分析測試碼的涵蓋率(也代表測試品質)之後,我們將來看另外一種保持程式碼品質的方式,也就是透過靜態程式碼分析。

在.Net的世界里,從最早期的而外工具FxCop,到後來進化成為VS一部分的Code Analysis就是專門在做這個方面工作的工具。

在這篇將會介紹如何使用Code Analysis,並且如何把它整并到我們的Build Script裡面。

廣義來說,靜態程式碼分析應該是針對源代碼(Source Code)作分析,實際上Code Analysis其實是對Assembly作分析,而Assembly也是IL,所以真的要叫做靜態程式碼分析應該也沒錯,只是 真的要嚴格說起來,Code Analysis應該不能夠稱之為靜態程式碼分析。不過以下我還是會稱之為靜態程式碼分析。(有點繞口)
2017年1月14日 星期六

[iThome第8屆鐵人賽 18]OpenCover 結果 - html結果產生篇

在上篇了解到了測試涵蓋率的計算方式之後,已經可以了解xml報告的一些數字所代表的意思。

但是,xml畢竟不是那麼容易讀得懂,並且也不容易看出到底那些地方沒有測試到。

在這篇,將會介紹如何把xml結果產生出html結果,並且如何使用。

[iThome第8屆鐵人賽 17]OpenCover 結果 - 涵蓋率介紹篇

在上篇把OpenCover整合到測試之後,每當執行測試後會產生出一個涵蓋率的結果報告出來。

這個涵蓋率的結果是一個xml的檔案,這個xml其實有非常豐富的資訊,但是沒有一些基礎概念會不理解是什麼意思。

因此,在這篇,將會對於涵蓋率相關的資訊做一個介紹和說明。

2017年1月1日 星期日

[iThome第8屆鐵人賽 15]OpenCover 介紹篇

OpenCover是一個.Net Open Source的測試涵蓋率檢測的工具,透過這個Library,可以檢測出,對於整個程式的測試涵蓋率到底有多少 (當然,要注意一個迷失就是,不一定都要100 %的涵蓋率)。

這篇將會先對如何使用OpenCover做一個初步的介紹,在下篇才會把OpenCover實際整合到build script裡面。

Related Posts Plugin for WordPress, Blogger...