6.輕鬆工作-自動化部署

今天要講的東西跟 時下所說的CI/CD有點關係

其實先不要去看 CI/CD是什麼

這都是被創造出來的名詞

總之就是想要輕鬆有效率的工作

說真的要特別解釋我還真不會

但是會做都比這些重要多了

我們由情境來看 比較實在

一般來說 我們要將開發好的程式發佈至測試機或正式機需要如圖這些步驟

但這些如果透過人手動去做 步驟很多 也不易管理

一樣 如果把這些工作交付給代理人 要說明的東西就需要很多

我們在做程式設計要懂得方便管理

所以可以透過工具 也許是VSTS 或是 Jenkins來設定好這些自動化的步驟

最後再直接選擇建置 就發佈 就方便多了 一些參考圖如下

實際怎麼做網路有很多資源 邊查邊做 做中學 這知識才真的是你的了

這邊不多寫了(其實是懶 XD)

成就感就在於 以後發佈任何程式 都可以氣定神閒

說沒問題啦 ! 這就是專業 !
按一下就OK
(然後看手動的人手忙腳亂還容易出錯…(因為在多主機都需要複製下)也是一種成就感吧 XD)

5.從生活面來看為什麼要做單元測試?

為什麼要做單元測試

先來想看看 不要去管這樣的名詞

也不要管要怎麼做

假設今天我們突然要承接某同事開發的系統

然後他沒有做單元測試

這時候我必須在系統上加個功能

可能會改到他寫的程式

但是改了卻很有可能不知道會影響到那個地方

如果這個系統更龐大 就越有這樣的可能

這時候自己上線的功能經過測試沒有問題

但是一上線就不小心那個功能不能用了

這時候老闆只會覺得是你的問題 不是以前人開發的問題…

這時候如果你講出 這是以前是誰誰誰的問題是沒有用的

只會顯得自己更Loser

因為成熟的開發者與維護者就是要解決問題

所以只能也必須吞下這個就是你的錯失啦

這在以前ASP 或 WebForm的時代 是非常常見的問題

甚至是到了MVC時代把它當成是ASP和Web Form的方式開發

也難怪系統品質不穩定也不高

但是一定要用單元測試嗎?

原則上有做當然是比較好的

當我們看到有做單元測試的系統

豈碼比較可能確定這個開發者是有一些好的程式開發概念

看到的程式碼的每一個函式 會比較能清楚知道會有什麼樣的輸入和輸出

而不是會看到很多的void函式

不清楚這個函式有什麼樣的輸入與產出

就算是說有的沒有做單元測試

但也可以看得出來是有做單元測試的訓練過

因為懂得做單元測試

通常也可以驗證自己寫的程式

是不是容易好懂

這就是今天想分享給大家的

寫程式不是越努力越好

在設計程式時 必須要能在你請假或交付系統給其他人開發時

能馬上 非常快的馬上讓對方能完成你的工作

那才是一個好的程式開發者