[TOC]
* * * * *
# 開發中的實際問題
作為一個程序員,在實際的項目開發中,你的代碼總是在不斷的更新,反復的調試Bug,有時會遇到電腦故障等問題,這對項目的開發周期、時間成本、人力成本都會帶來很大的影響。你在開發中,遇到過以下情形嗎?
## 1.1需求之一→備份
小明負責的模塊就要完成了,就在即將Release之前的一瞬間,電腦突然藍屏,硬盤光榮犧牲!幾個月來的努力付之東流——需求之一:備份!
## 1.2需求之二→代碼還原
這個項目中需要一個很復雜的功能,老王摸索了一個星期終于有眉目了,可是這被改得面目全非的代碼已經回不到從前了。什么地方能買到哆啦A夢的時光機啊?需求之二:代碼還原!
## 1.3需求之三→協同修改
小剛和小強先后從文件服務器上下載了同一個文件:Analysis.java。小剛在Analysis.java文件中的第30行聲明了一個方法,叫count(),先保存到了文件服務器上;小強在Analysis.java文件中的第50行聲明了一個方法,叫sum(),也隨后保存到了文件服務器上,于是,count()方法就只存在于小剛的記憶中了——需求之三:協同修改!
## 1.4需求之四→多版本項目文件管理
老許是一位項目經理,我會告訴你他把每一個版本都保存一份嗎?我會告訴你這些工程里其實有很多文件都是重復的嗎?我會告訴你老許為這事刪了很多電影嗎?——需求之四:多版本項目文件管理!
## 1.5需求之五→追溯問題代碼的編寫人和編寫時間
老王是另一位項目經理,每次因為項目進度挨罵之后,他都不知道該扣哪個程序員的工資!就拿這次來說吧,有個該死的Bug調試了30多個小時才知道是因為相關屬性沒有在應用初始化時賦值!可是二胖、王東、劉流和正經牛都不承認是自己干的!——需求之五:追溯問題代碼的編寫人和編寫時間!
## 1.6需求之六→權限控制
小溫這兩天幸福的如同掉進了蜜罐里,因為他成功的得到了前臺MM麗麗的芳心,可他郁悶的是這幾天總是收到QA小組的郵件,要求他修正程序中存在的Bug,可他自己本地電腦上是沒有這些Bug的,“難道我的代碼被哪個孫子給改了?”。是的,小溫沒來的時候,麗麗是QA小組小鄭的女朋友啊!——需求之六:權限控制!