我曾經做過的插件


今天同事在群里發了一個編碼特效的文章,就是最近在程序員圈子流行的Atom的插件。

 

看着挺炫,但是抖動屏幕晃得人頭疼,中看不中用。

有人稱之優點在於“即時反饋”,有人說能使枯燥的編碼變得有趣。

寫代碼的樂趣在於構思,狂敲着鍵盤是挺爽,大多那都是在寫很多重復性的代碼,或者在新人面前展示自己的牛逼。

之前我也做過類似有趣的插件,給Visual Studio。比如說編碼聽音樂,把豆瓣FM嵌入在VS中;又比如說代碼鼓勵,在用戶每次保存代碼時給予鼓勵的詞語,諸如:干的漂亮、繼續保持、很好的改動等等。

今天專門翻了一下原來寫的東西,一陣唏噓,想着以后用VS的機會越來越少,不如趁此機會,留下點什么聊表紀念。

當時在公司做銀行的前端系統,也就是你去銀行櫃台時櫃員用的那個軟件。

整個工程非常浩大,參與人數眾多,良莠不齊,整個工程使用插件式開發,保證新員工也能很快寫交易(銀行把每筆業務成為交易),所以項目結構是這樣。

 

 

你看到的T2000等等都是每一個交易,我能說只是一個存款業務就有200+個交易么?

傳統的插件式開發,需要對於每個交易創建一個工程,諸如我們這個項目,當時上線時已經有近800個交易,一個解決方案創建800+個工程,那種效果應該也是相當值得一看的。

可以將相同業務的交易合並在一個項目下,分不同的文件夾,但是這時候問題就出來了,如何針對每個交易生成獨立的動態鏈接庫(DLL)。

這時候給VS做一個插件的想法就產生了。思路很簡單,操作csproj文件(VS項目文件,是XML),除了選擇的交易文件夾,其他文件夾全刪除,然后調用MsBuild編譯。


 

當然,一個工程交易眾多,也可以在項目上點擊右鍵,選擇編譯或批量編譯,為了方便,在解決方案上點擊右鍵還提供了編譯全部交易。

 

編譯交易功能是本插件最基本的功能,因為交易開發工作量巨大,對此使用T4模版做了新建交易功能。

 

 

對於新建交易,我還提供了一個新建交易向導的功能,雖然最終使用的人不多,但是這個功能是我自己主張的,所以一直在修改。

 

 

編譯和新建基本是這個插件最核心的兩個功能,之后想做部署和發布,所以有了下面這個菜單。

 

要說發布就得提自動更新。

手動發布有眾多問題存在,使用工具發布我們可以控制開發人員必須升級版本號,然后又做了相應的版本控制。

這里值得一提的是當初一直無法解決定位每個交易是誰發的,無法追蹤到責任人,最早的想法是使用帳號系統,但是參與者太過雜亂,花費的成本太大。

也是偶然的情況下,和同事閑聊時提起每個人都有svn帳號,如果能獲得每個人的svn帳號問題就好辦了。

 


 

這個項目花費了近三個月時間,是我在這家公司十分值得紀念的項目。現在算來離職也有一年時間了,由於換了家互聯網公司,也不再使用.NET開發,編輯器也從VS換到了Sublime(雖然本人是VIM黨),現在回頭看看當初這個項目,在國內資料嚴重缺失的情況下能做到這樣,期間花費了不少心血。

只希望還在使用這個插件的前同事們不要在使用插件的時候遇到問題咒罵當時的開發者,因為我深知任何軟件,只要有人用,絕對都會有問題。這個項目從完結到我離職,只經歷了半年時間,遠遠未達到一個軟件的成熟時間。


最后,在插件中我留下一個彩蛋,雖然我已經離職,但是代碼中處處都有我留下的注釋,當你們鼠標移動到我的名字上時,你就會發現。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM