狠狠撸

狠狠撸Share a Scribd company logo
K.NET - 版控实务
Robin 2016-09-03
約耳測試 – 高品質軟體團隊評分
1. 你有使用原始碼控制系統嗎?
2. 你能用一個步驟建出所有結
果嗎?
3. 你有沒有每天都重新編譯建
立(daily builds)嗎?
4. 你有沒有問題追蹤資料庫
(bug database)?
5. 你會先把問題都修好之後才
寫新的程式嗎?
6. 你有一份最新的時程表嗎?
7. 你有規格嗎?
8. 程式人員有沒有安靜的工作
環境?
9. 你有沒有用市面上最好的工
具?
10.你有沒有測試人員?
11.有沒有在面試時要求面試者
寫程式?
12.有沒有做走廊使用性測試?
(hallway usability)
綱要
案例
發行
流程
資料庫設計
的版控
原始碼與
工作整合
Code
Review
分支
策略
版控
範圍
版控平台
選擇
團隊
默契
Q & A
agenda
發行流程
? 程式發行流程
DEV ? QAS ? BS-Line ? Production
? 版控分支
–DEV
–Main
–(其他)
版控实务
版控实务
版控实务
版控实务
agenda
發行流程需考量
? BUG 可立即修正後發佈
? 分支主從關係設計,降低衝突處理
? 開發者接獲工作時,知道從哪個分支下手
agenda
資料庫設計的版控
? 資料庫設計流程
–資料表、檢視 ? PowerDesigner
–預存程序、觸發 ? SSMS+VS 資料庫專案
–資料內容
? 資料庫版控作法
? 如何程式碼版本同步
agenda
資料庫設計步驟
1.PowerDesigner 設計資料表
2.SSMS 在開發環境資料庫上執行
3.使用預存建立關聯與觸發
4.從DEV資料庫比對更新到專案
5.VS 专案签入
版控实务
版控实务
版控实务
agenda
原始碼與工作整合
? 開發流程
–需求/Bug ? 工作?原始碼
? 日後檢閱
–原始碼?工作?需求/Bug
agenda
原始碼與工作整合的好處
? 程式碼中不需註解商業流程
? 增強搜尋關聯性
–工作 與 程式碼
版控实务
版控实务
agenda
Code Review
? VSTS 作法
? 簽入後擇日檢閱
agenda
Code Review in Visual Studio
? 開發者發出要求
? 審核者在原始碼上註解/修改建議
? 開發者取得修改建議
agenda
團隊默契
? SOP 目的
? 內部術語: 簽入、合併
? 節少浪費(時間)
? 取代重複性作業
agenda
簽入三步驟
? 從 Server 取得最新版到本機
? 在本機端建置與測試
? 簽入
agenda
版控平台選擇
? 自建
–佈建實體伺服器
? 雲端服務
–VSTS
–Git Hub
下班后办公室烧毁了,会担心失去了甚麼?
版控实务
agenda
版控範圍
? 除程式碼外,那些需要納入版控 ?
–需求文件
–HTML 設計稿
–資料庫設計
–資料庫的資料
agenda
文件版控平台選擇
? 文管系統
? 雲端服務
? 与程式码平台共用
agenda
非程式碼版控需要:
? 做衝突處理 ?
? 版本還原 ?
? 簽出修改,再簽入 ?
? 與發行版本有關 ?
agenda
分支策略
? 需求與 Bug 分支
? 區分模組
? 區分專案/客戶別
? 核心模組 與 引用專案
版控实务
agenda
子專案參考內部Library/Framework
? Visual Studio 專案DLL參考
? NuGet 更新
? 發行時合併 (尚未嘗試)
結語
所有掌握最新科技、工
具的人,
會將看不懂、看不起這
些工具的人,
撂下一大截。
/ 逻辑思维
agenda
Q & A
? 已簽入錯誤程式,如何處置 ?
? 已發行錯誤軟體,如何處置 ?

More Related Content

版控实务

Editor's Notes

  1. https://ruddyblog.wordpress.com/2016/08/22/%E8%B2%B4%E5%85%AC%E5%8F%B8%E7%9A%84%E5%93%81%E8%B3%AA%E5%A6%82%E4%BD%95%EF%BC%9F/ http://chinesetrad.joelonsoftware.com/Articles/TheJoelTest.html 得12分是完美, 11分勉強可接受, 不過10分以下(含10分)就表示問題大了. 事實上大部份軟體組織都只拿到2或3分, 這些組織都岌岌可危, 因為微軟隨時都是以12分的水準運作.
  2. 說在前面 今天講的是我們團隊近一年半一來陸續調整的樣子,持續改進中。 理論不懂就實作,實作不會學理論。
  3. 一键发行
  4. 發行後透過 Slack 通報
  5. 部落格 SQL Server 資料庫版本控管 (Part 1) http://jasper-it.blogspot.tw/2016/01/sql-server-part-1.html
  6. 資料庫設計的版控 說明開發步驟 PowerDesigner 設計資料表 SSMS 在開發環境資料庫上執行 使用預存建立關聯與觸發 VS 資料庫專案,從DEV資料庫比對更新到專案 VS 专案签入
  7. 每個資料表均有固定的欄位,例如: ID, ACTIVETN, COMP_NO, MOD_USER… ? 這是 PowerDesigner 資料塑模採用繼承的好處 Foreign Key, Index, Trigger 透過預存程序產生 Code Generator
  8. 資料庫與專案進行比對 更新至專案 將專案異動檔案簽入版控
  9. 簽入、簽出、合併 每一個指令在團隊內部都應該有 SOP
  10. Git hub 作法 與 VSTS 作法大不同