iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
自我挑戰組

新手成為軟體工程師的技能樹點法&心路歷程 系列 第 8

Day 8. 版控很重要!

在遙遠的遠古時期,專案的程式碼都是丟到網路芳鄰上時,大家都是用資料夾在做備份跟還原,如果多人開發同個專案,丟檔案時還要在辦公室裡大聲喊一喊:「我要更新專案囉!請大家去下載新的版本!」,如果有人忘記喊或忘記更新,還會被說你工作能力有問題......以上不是開玩笑,都是本人的親身體驗。


關於版本控管,我認為不是只有要寫程式的RD要會,是PM、SA、SD,甚至是業務都必須要會的技能,除了程式碼的板控很重要,業務的合約文件、PM的需求訪談文件、SA、SD的系統分析書或系統設計書...這些文件都是會不斷修修改改的,透過改檔名勉強可以讓人初步知道這是第幾版,但是卻無法知道這裡面改了什麼,而且一旦檔案歷程多起來,你就會看到各種奇怪的檔名例如:20210310XXX系統需求文件V3_Final_20210910_Emma(02).doc。因此不管是誰,我都會建議版控一定要會用,但版控有哪些流派,以下就介紹大家最常聽到的

Git

推薦度:★★★★★
沒有不學的理由,學會後各大雲端版控服務都能瀟灑地說:我會!
像是GitHub、Bitbucket、Azure DevOps、AWS等等都能使用。如果你連GitFlow的概念都懂,那對於履歷更是加分。
關於教學資源,網路上有很多Git的教學文章,因此對於從0開始自學的新手來說也非常友善,不過Git的操作跟概念畢竟還是有點複雜,GUI的軟體除了SourceTree做得還不錯以外其他都還好,而且大部分的教學還是教怎麼下Git CMD為主,因此建議如果上網看教學還是看不懂的人還是去買本Git的教學書籍來啃啃。(推薦:為你自己學Git)

SVN

推薦度:★★☆☆☆
可以學,畢竟還是有滿多公司有在用的,學習上網路上也有許多的教學,但若是要你自己架設板控的環境,建議你還是選擇Git,不要再用SVN了,因為集中式的管理也意味著當你這台Server遇到攻擊、硬體損毀、斷網、斷電等等,你就不用工作了,而分散式的Git在風險上就安全許多,除了一堆的雲端服務讓你免除自架Git Server,當主要Server爆掉時,也不會像SVN一樣這麼慘。這邊建議新手對SVN的態度是:遇到再學就好!

TFS

推薦度:★☆☆☆☆
微軟自己推的版控服務,全名:Team Foundation Service,裡面的版控服務叫做TFVC(Team Foundation Version Control),關於他跟Git的選擇,黑大的這篇文章介紹的滿仔細的
https://blog.darkthread.net/blog/tfvc-vs-git/
,我個人的結論是不建議新手學了,除非你在維護的舊案子還是用這套版控,不然也沒必要再去多學

最後總結:除了Git,另外兩個都是有遇到再學就好!
另外如果你還在一個沒有版控的公司,建議你快點換間公司,別再待在那種鬼地方了。


上一篇
Day 7. 關於.NET新手遇到問題,我是這樣建議
下一篇
Day 9. 新手也能懂的物件導向
系列文
新手成為軟體工程師的技能樹點法&心路歷程 11

尚未有邦友留言

立即登入留言