「打造自己的template-建立一致性程式碼」 @ Alan Tsai 的學習筆記|An Asp .Net Mvc Web Developer Blog

「打造自己的template-建立一致性程式碼」


[打造自己的template-建立一致性程式碼][暫完]階段性總結

image
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇([12]TemplateBuilder建立Multi Project和Item Template)介紹完最複雜類型的template - multi project template之後,基本上已經涵蓋一般常見到的情況了。

在這一篇將會對於這一系列所介紹的方式做個總結,並且展望接下來可以關注的方向。


[打造自己的template-建立一致性程式碼][12]TemplateBuilder建立Multi Project和Item Template

image
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇([11]深入了解TemplateBuilder的特殊檔案設定方式)對於TemplateBuilder的一些特殊檔案的設定做了更詳細的介紹,對於一般微調已經夠用了。

不過如果要建立Multi Project還未遇到一些問題,因此這篇將會對如何用TemplateBuilder來建立Multi Project的template和快速介紹建立Item Template。


[打造自己的template-建立一致性程式碼][11]深入了解TemplateBuilder的特殊檔案設定方式

image
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇([10]用SideWaffle建立Project Template)了解了如何用SideWaffle建立出project的方式。

在這一篇將會更深入的介紹TemplateBuilder裡面的一些特殊檔案的作用和如何微調讓產生出想要的Template。


[打造自己的template-建立一致性程式碼][10]用SideWaffle建立Project Template

[10]用SideWaffle建立Project Template
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇([09]內建VSIX的缺點 - SideWaffle基本介紹)介紹完了內建VSIX template在維護上面的不方便和對於SideWaffle做了一個初步的介紹。

在這篇,將會使用SideWaffle來建立Project Template - 看看和內建的做法有何不同。


[打造自己的template-建立一致性程式碼][09]內建VSIX的缺點 - SideWaffle基本介紹

[打造自己的template-建立一致性程式碼][09]內建VSIX的缺點 - SideWaffle基本介紹
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上篇([08]Visual Studio Experimental Instance 和 VSIX template的細節設定介紹) 介紹完了Visual Studio(以下簡稱VS)的Experimental Instance的一些維護方式和VSIX template的一些細節設定。內建VSIX方式建立template基本就告一個段落。

不過會發現雖然用VSIX可以版控template專案和部署的時候變得容易,但是建立template的過程有些地方還是過於繁瑣。SideWaffle因此而誕生

這篇將會對現行做法有什麼問題在做一些介紹,和SideWaffle如何讓這些變得更加容易。


[打造自己的template-建立一致性程式碼][08]Visual Studio Experimental Instance 和 VSIX template的細節設定介紹

Visual Studio Experimental Instance 和 VSIX template的細節設定介紹
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上篇([07]匯出template建立小總結,更好的建立方式介紹 VSIX)介紹了如何透過VSIX的方式建立一個Visual Studio(以下簡稱VS)的套件來安裝template。

在這篇則會針對測試用的Experimental Instance和VSIX建立方式的一些小地方做延伸介紹。


[打造自己的template-建立一致性程式碼][07]匯出template建立小總結,更好的建立方式介紹 VSIX

匯出template建立小總結,更好的建立方式介紹 VSIX
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇([06]建立Item Template)介紹完了Item Template的建立方式之後,基本上關於template建立方式的介紹就結束了。剩下只是透過介紹的內容微調自己的template達到想要的目標。

Template建立方式講完了,但是另外一個問題出現了,這種建立出來的template在管理上面非常的不方便,例如沒有版控,安裝還要到特定位置等,是否有什麼方式可以讓管理變得更加簡單嗎?


[打造自己的template-建立一致性程式碼][06]建立Item Template

建立Item Template
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上篇([05]建立多專案(multi project)的Template)了解了如何建立Multi Project了之後, Project Template基本上就告一個段落了。

在這篇則是針對另外一種Template:Item Template的建立方式做一個介紹。


[打造自己的template-建立一致性程式碼][05]建立多專案(multi project)的Template

[打造自己的template-建立一致性程式碼][05]建立多專案(multi project)的Template
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上篇[04]了解vstemplate來微調匯出的Template和強制VS更新Template的方式 了解了project template的最重要檔案,vstemplate並且了解了如何微調匯出的Template。

在這一篇將會在了解如何調整vstemplate來建立多Project(multi project)的Project Template。


[打造自己的template-建立一致性程式碼][03]透過匯出建立Project Template

透過匯出建立Project Template
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上一篇[打造自己的template-建立一致性程式碼][02]了解template類型和建立出要變成範本的程式建立出一個能夠用Console Process Template套件建立出來的的Echo程式之後,在這篇我們將會把建立的程式變成範本。

我們將會透過VS匯出的功能產生Template,並且介紹如何匯入匯出的template。


[打造自己的template-建立一致性程式碼][04]了解vstemplate來微調匯出的Template和強制VS更新Template的方式

解vstemplate來微調匯出的Template和強制VS更新Template的方式
了解vstemplate來微調匯出的Template和強制VS更新Template的方式

在上一篇[打造自己的template-建立一致性程式碼][03]透過匯出建立Project Template透過匯出的方式得到了 一個zip檔案。可以透過放到對應位置來達到安裝到VS上面。

但是匯出來的zip檔案其實有一些不如意的地方,因此在這篇將會介紹Project Template組成的原理來方便微調並且介紹如何讓VS更新Template。

之前建立的sample 程式用來產生範本在 github mhat-visualstudio-template sample/chapter02

[打造自己的template-建立一致性程式碼][02]了解template類型和建立出要變成範本的程式

[打造自己的template-建立一致性程式碼][02]了解template類型和建立出要變成範本的程式
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

上篇了解了template的重要性之後,在這篇將會先介紹Visual Studio裡面的兩種Template:Project Template和Item Template。

了解完兩種template類型之後,將會開始打造我們的template。這邊會以一個我自己的的open source console專案作為之後範本的目標,然後建立出一個實用這個套件的簡單console程式,未來會被用來做於template。


[打造自己的template-建立一致性程式碼][01]開篇

[打造自己的template-建立一致性程式碼][01]開篇
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在公司裡面或者自己建立的套件/框架一般來說使用上都有一定的規範。例如ViewModel應該開在哪裡?建立之後要繼承什麼class?應該要有什麼namespace等。

如果規範沒有好好遵守,很容易一個人寫一個樣,另外一個人寫另外一樣 - 或許從最終結果來說沒有差異(會動就好XD),但是對於未來要維護的時候會造成很大困擾。

因此如何讓不同團隊成員有一樣概念來建立一致性專案就是一件非常麻煩的事情,而Template(範本)就是專門來解決這個問題。