說說對兩種原始程式碼控制方式的感受

來源:互聯網
上載者:User
一:按模組分配所有權
團隊中的每個人在sourcesafe上保留自己的代碼,但是自己是看不到未經授權其他人的代碼和文檔。到發布的時候有SCM把大家的代碼那到一起編譯產生一個版本。也就是說,項目的每一個工件,都是有所有權的,團隊成員根據角色劃分,每個角色對工件的所有權不同,最少的就是只擁有自己開發的部分的代碼和文檔。而專案經理或SCM等角色對全部工件有所有權。這樣,除了少數幾個人外,其他人不能擁有項目的所有代碼和文檔。

二:集體所有權
這種方式是極限編程中提倡的,團隊中的任何人對任何代碼都可以簽入,簽出。沒有程式員對某一個特定模組單獨負責。所有的模組對所有的人都是開放的。

顯然,第一種方式有很多缺點:
1.不利於團隊成員間的知識傳播。代碼沒有經過其他人的眼睛,其品質就只能靠  這個模組的負責人了。也許你犯了錯誤或沒有找到更好的實現方法,同樣,別人碰到這樣的問題,  可能還會重複你的老路。我曾經在幾個人的代碼中同時發現相同的明顯錯誤,但是沒有人認識到這個問題。
2.由於每個模組只由一個人或很少的幾個人,那麼一旦當這些人離開,由於沒有人理解這個模組,工作交接會耗費更多的時間。為了把人變成可替換的零件所採取的過程,卻在這裡付出了更大的代價,無疑是一種諷刺。
3.底層模組對高層模組形成了更大的影響。或許是怕麻煩,編寫高層模組的人經常在使用底層模組舊版本的基礎上進行開發,有一天可能突然發現,更新過版本後自己的依賴於底層模組的代碼已經無法編譯了。底層模組如果發布的很頻繁,要保持各個模組間的版本一致,實在是件很煩人的事。而且,每次發布都需要通知每個人。
4.對調試的影響,自己在調用別人的模組的代碼中出了錯誤,到底是自己的錯誤呢?還是你所依賴的模組的錯誤?有時很難判斷,因為你沒有別人的模組的原始碼,無法跟蹤到內部查看究竟。要麼把兩部分代碼拿到一起來跟蹤(很痛苦),要麼開始爭論(更痛苦)。
5.發布的混亂。如果一個項目有20個模組,在開發初期每個模組平均兩天發布一次,SCM可能會被煩死。而且把版本搞混的可能也更大。

第二種方式的優勢也是顯而易見的。

1.代碼對所有人都是開放的,有利於開發人員之間互相取長補短,有利於代碼風格的統一,有時會發現幾個人寫的代碼在結構,甚至函數命名都是相同的,這不是一般的代碼規範所能限定的。
2.每個人對每個模組都有一定程度的瞭解,當團隊中的成員變動時,就有人能很快接替他的工作。
3.由於每個人每天來都取一次新版本,把各個模組版本一致問題減小到了最小。
4.不管是自己的還是別人的代碼,出了問題,跟蹤進去看個究竟,比胡亂猜測,詢問別人模組的情況要頂用的多。
5.不需要有專門的人來控製版本,每天都有一個新版本,程式員手中的就是最新版本。

要說開放的原始程式碼控制有沒有缺點,有,那就是團隊之間的磨合需要一段時間,開始的時候可能會產生一些混亂,但是渡過這段時期一般都會比較順利的。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.