正規(guī)產(chǎn)品代碼是提交到公司級代碼版本服務(wù)器上,一般用較多的是git或svn。這些服務(wù)器上只有管理員能徹底刪除數(shù)據(jù),其他人的賬號只能提交代碼,無權(quán)刪除。程序員誤刪也就只能刪掉自己本地的代碼,就算把刪除代碼提交到版本服務(wù)器了,也只是版本服務(wù)器的一個增量提交操作,revert一下就回來了。那要是管理員誤刪了服務(wù)器數(shù)據(jù)怎么辦?當(dāng)然有其他保護辦法系統(tǒng)源碼,服務(wù)器還可以做數(shù)據(jù)備份的。
說到數(shù)據(jù)備份技術(shù)。備份可以分成全量備份和增量備份,例如每10次增量備份就做一次全量備份。備份頻率可以到小時級別。經(jīng)過長時間的備份后,還會由運維人員執(zhí)行離線異地備份。簡單點的做法是把整個服務(wù)器虛擬機或數(shù)據(jù)備份拷貝到電銷電話硬盤拿走,高級做法可以部署專業(yè)的數(shù)據(jù)容災(zāi)軟件,為服務(wù)器實現(xiàn)異地連續(xù)數(shù)據(jù)保護,簡稱CDP技術(shù)。這個技術(shù)可以記錄一段時間內(nèi)的所有修改操作,把這些改寫數(shù)據(jù)的操作串起來維護就是一個叫做journal的數(shù)據(jù)記錄??梢岳斫獬深愃茢?shù)據(jù)變更錄像機,記錄了一段時間內(nèi)任一次修改操作。在這個journal內(nèi),數(shù)據(jù)可以像視頻播放器拉動播放進度條那樣,選擇任何一個點恢復(fù)數(shù)據(jù)。
至于程序員自己,前面說了也就只能刪刪個人電腦那份代碼。刪了怎么辦?從服務(wù)器重新checkout就可以了系統(tǒng)源碼,最多就是損失個人未提交那部分代碼。既然是未提交的,也就是說未算納入產(chǎn)品。開發(fā)流程規(guī)范的公司會有對應(yīng)及時提交代碼的要求,比如每天的改動的代碼要及時提交,所以本地即使丟失了未提交代碼一般不會太多,最多一兩天的代碼量。
最后,程序員誤刪代碼要不要負(fù)責(zé)?當(dāng)然要!你的項目經(jīng)理如果合格的話,馬上就會要求你自行找時間加班把未提交的代碼重寫,總不能讓你影響項目進度哈哈。不多說了,該回公司查bug了!