如果有維管過老舊系統的經驗(如ASP、JSP)的開發人員,
你應該有看過「前後端擺在一起」的著作。
這樣的開發方式並不會影響產品的交付的速度,
日後幾年維護也不成問題(假設原開發團隊還在的話)。
但數年後換人接手修改時,
可能就會讓人踩到許多的「雷」。
小劇場
第一篇先來講個小故事,內容純屬虛構,如有雷同純屬巧合。
[Start]
某天DBA調整了資料庫Schema的欄位名稱,
好巧不巧這份程式碼剛好就是前後端不分離,
還夾雜著許多凌亂的SQL語法,
於是主管交給小菜第一個任務。
小菜:好的我試試看(用說的都馬很簡單,不然你來
而小菜在修改的過程中卻發現了一堆問題...
[問題1.] :主管說有影響的地方都要改,阿我才剛交接完,code也不是我寫的,我怎麼知道要改哪裡?
[問題2.]: 文件修改日期是2009年,但今年都2018年了,這份文件還能參考嗎?
[問題3.]:我怎麼知道有多少地方需要調整欄位,它們全部都散落在無數個前端頁面裡阿?
Ctrl+Shift+F
對整個專案作關鍵字搜尋,然後全部取代。於是小菜使用地表最強開發神器Visual Studio
執行全部取代的動作,
3分鐘就收功快樂又輕鬆,還順手將程式碼佈上正式環境。
就這樣過了半小時,然後業務部門開始響起嘈雜的電話聲響...
[End]
這家公司有什麼問題
- 前後程式碼耦合性過高,一個不小心可能就改到別人的程式碼。
- 後端程式碼重用性過低,資料處理邏輯沒有被獨立抽出。
- 網站發佈權限沒有權限控管,資淺開發人員的程式碼沒人把關。
使用MVC模式可以改善這些問題,讓前後端程式碼分離。
而透過CICD工具,可在每個階段適當地做權限控管。
但若要追根究柢,
改善開發人員寫程式的習慣是最大的問題,
否則你的程式只是擁有MVC的框架而不是靈魂。
結語
本系列文章將記錄筆者由ASP.Net MVC5
→ ASP.Net Core MVC
的心得,
也會介紹幾項筆者開發中較常使用的工具及雲端相關服務。
如有文章內容摘述不清之處,再麻煩各路大神指點。