27章How Program Size Affects Construction讀書筆記

來源:互聯網
上載者:User

 

這章感受最深的應當是從量變到質變,程式的規模應當選擇的方法論,它影響了架構,設計,編碼等等,可以說1+1>2。一個小項目和一個大項目是完全不同的。

1. Communication and Size

項目的人數越多越會增加交流溝通的成本。這是在《人月神話》中講的很詳細。看幾幅圖就更加明白了:

人數的增加交流溝通的線條是平方級的增加,不過這裡的假設是每個人都可以隨意和其他人溝通,通常的項目中應該會有等級,幾個人會分個小組,做一個模組。減少和其它不必要的溝通。儘管這樣,溝通的成本還是很大的,於是項目文檔的重要性就突出了,它可以在一定程度上減少項目的溝通成本,可以讓後來修改維護項目的人,以及新加入項目的人員更快上手。

總結:人數越多溝通成本越大,需要文檔來記錄和溝通。

2. Effect of Project Size on Errors

程式的大小影響著程式的錯誤個數,隨著程式的增大它出錯的機率也就增加。估計越複雜的東西越容易出錯吧。當項目變大時,錯誤很多會來自於需求和設計,不過也有很多來自編碼階段。如果是一個小項目更多的錯誤會在編碼中,需求和設計的錯誤會相對減少。

這幅圖很好的展示了隨著程式規模的擴大,錯誤個數比率的變化。

3. Effect of Project Size on Productivity

代碼的產出率和代碼長度也有關係,不過可惜是成反比的。

這個資料是從《代碼大全》中截取的。在一個小程式中,通常2千行或者更小,對代碼的產出影響最大的是程式員自己的水平。但是當程式變大的時候,團隊對程式的影響更大。現在的時代不會再有求伯君那樣的英雄了,只有一個團隊的成功才可能取得成功。

4. 感受

對於同樣一件事情:寫程式。因為程式的變大,讓寫程式這件事情發生了巨大變化。就好像資料庫一樣,很少的資料可以用記事本,excel等來完成,如果是企業級的應用,那麼就要用到專業的資料庫。

我想就因為這種質的變化產生了軟體工程,產生了一套方法論來完成這項任務。當我們在做不同的項目時,根據不同的需求和項目大小挑選合適的方法論。使用敏捷,還是瀑布等。

到現在我都沒有正式的參加過項目,代碼沒有寫過2k行以上的程式。不足之處大家請指出。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.