在公司裡面或者自己建立的套件/框架一般來說使用上都有一定的規範。例如ViewModel應該開在哪裡?建立之後要繼承什麼class?應該要有什麼namespace等。
如果規範沒有好好遵守,很容易一個人寫一個樣,另外一個人寫另外一樣 - 或許從最終結果來說沒有差異(會動就好XD),但是對於未來要維護的時候會造成很大困擾。
因此如何讓不同團隊成員有一樣概念來建立一致性專案就是一件非常麻煩的事情,而Template(範本)就是專門來解決這個問題。
為什麼寫這個主題?
曾經我也介紹過如何建立自己的Mvc框架, 舉在這個框架裡面在Bll範例,會建立Service
可以繼承 GenericService
來減少一些boilerplate code。
可以想一下,假設今天有個新的同事進來想要使用,他是不是需要受到教育訓練告訴他新的Service要開在那個資料夾,然後要繼承什麼class,然後要覆寫什麼方法。
如果今天有一個範本,他只需要選擇New Item
然後選擇建立Service,然後裡面自動把CS檔案建立在正確的位置,並且寫好class 繼承和應該要覆寫的方法。
整個教學習的時間成本降低,並且人為輸入錯誤的幾率也降低(因為沒有Template的情況下,可能是從現有的程式碼copy然後改,非常容易有缺東西)。
所以如何建立自己常用的範本變得非常重要,在未來可以省去很多copy和paste的時間和人為錯誤的時間。
想象一下,如果今天你要學Asp .Net Mvc,而無法直接從Visual Studio開一個mvc專案,每一次建立都要自己開Controller和View的資料夾,然後設定一些routing資訊等,是不是很有可能東西會少copy到導致會花很多時間在debug上面?
這個系列到底包含那些內容?
基本上會針對以下幾個部分做介紹:
- 在VS的世界裡,有什麼類型的Template
- 透過匯出的方式建立自己的Template
- 微調自己的Template
- 建立VSIX讓Template更容易讓安裝
- 如何使用SideWaffle讓建立範本變得更容易
- dot net new - dotnet core的範本模式
結語
Template其實非常的重要,但是由於要寫自己的Template還是需要了解一些學習,因此大家還是習慣用copy和paste的方式。
但是如同程式設計好的結構一樣,只要寫過3次就應該要整理成為方法,copy和paste 3次以上難道不用自己整合常建立內容嗎?
這個系列希望降低未來要建立Template的門檻。
目前其實還有[從.Net工程師的角度來看]的系列還沒有寫完 ,但是由於最近剛好有認真的在學習一下,在還有記憶的時候做一個總結介紹。
下一篇會從VS到底提供哪些類型的範本和我們怎麼使用它作介紹。