《Code Complete》中文名稱《代碼大全》。
第一章:welcome to softWare Construction,包含以下內(nèi)容:
- 什么是軟件構(gòu)建
- 軟件構(gòu)建為何如此重要
- 你該如何閱讀本書-->《Code Complete》
軟件開(kāi)發(fā)所設(shè)計(jì)的流程
開(kāi)發(fā)計(jì)算機(jī)軟件是一個(gè)復(fù)雜的過(guò)程,正規(guī)軟件開(kāi)發(fā)中各種不同的活動(dòng)(Activity):
定義問(wèn)題 (problem definition)
需求分析 (requirements development)
規(guī)劃構(gòu)建(construction planning)
軟件架構(gòu)(software architecture),或高層設(shè)計(jì)(high-level design)
詳細(xì)設(shè)計(jì) (detailed design)
編碼與調(diào)試(coding and debugging)
單元測(cè)試 (unit testing)
集成測(cè)試(integrstion testing)
集成(interation)
系統(tǒng)測(cè)試(system testing)
保證維護(hù)( corrective maintenance)
以上所有活動(dòng)是大型專業(yè)軟件的開(kāi)發(fā)流程和設(shè)計(jì)的活動(dòng),比如銀行的軟件系統(tǒng),遵循這樣的流程會(huì)使得軟件開(kāi)發(fā)井然有序,高質(zhì)高效。
那么什么是軟件構(gòu)建呢?
如下圖所示,我們把灰色部分視為軟件構(gòu)建,我們認(rèn)為:構(gòu)建活動(dòng)主要是編碼與調(diào)試,但也涉及詳細(xì)設(shè)計(jì),規(guī)劃構(gòu)建,單元測(cè)試,集成,集成測(cè)試等其他活動(dòng)。

上圖是關(guān)于構(gòu)建的宏觀圖,那么軟件構(gòu)建的具體任務(wù)(task)有哪些呢?
下面列出一些軟件構(gòu)建的具體任務(wù):
- 驗(yàn)證有關(guān)的基礎(chǔ)工作已完成,因此構(gòu)建活動(dòng)可以順利進(jìn)行下去。所謂的基礎(chǔ)工作是指:軟件流程前期的定義問(wèn)題和需求分析。
- 確定如何測(cè)試所寫的代碼
- 設(shè)計(jì)并編寫類(Class)和子程序(routine)
- 創(chuàng)建并命名變量和常量
- 選擇控制結(jié)構(gòu)和組織語(yǔ)句塊
- 編寫業(yè)務(wù)邏輯代碼,注意代碼規(guī)范和注釋
- 對(duì)代碼進(jìn)行單元測(cè)試和集成測(cè)試并排除錯(cuò)誤
- 評(píng)審開(kāi)發(fā)團(tuán)隊(duì)中其他成員的底層設(shè)計(jì)和代碼,并讓他們?cè)u(píng)審你的工作
- 潤(rùn)色代碼
- 將獨(dú)立開(kāi)發(fā)的多個(gè)軟件集成為一體
- 優(yōu)化代碼,使之效率更快,占內(nèi)存更少
**軟件構(gòu)建為何如此重要 **
提高軟件的質(zhì)量和效率以及開(kāi)發(fā)者的效率是當(dāng)今世界尤為重要的事情
構(gòu)建活動(dòng)是軟件開(kāi)發(fā)的主要組成部分
構(gòu)建活動(dòng)是軟件開(kāi)發(fā)的核心活動(dòng)
把主要精力用于構(gòu)建活動(dòng),可以大大提高程序員的生產(chǎn)效率
構(gòu)建活動(dòng)的產(chǎn)物--程序源代碼往往是對(duì)軟件的唯一精確描述
構(gòu)建活動(dòng)是唯一一項(xiàng)確保會(huì)完成的工作。一個(gè)理想的軟件項(xiàng)目在進(jìn)行構(gòu)建之前,都要經(jīng)過(guò)謹(jǐn)慎的需求分析和架構(gòu)設(shè)計(jì)。構(gòu)建完成后往往需要全面的系統(tǒng)測(cè)試。然而在很多不完美的項(xiàng)目中,往往跳過(guò)了需求分析和建構(gòu)設(shè)計(jì)而直接進(jìn)行了軟件構(gòu)建活動(dòng),往往又由于錯(cuò)誤太多和時(shí)間不夠又扔掉了測(cè)試流程,但是無(wú)論一個(gè)項(xiàng)目多糟糕也不能跳過(guò)軟件的構(gòu)建活動(dòng),因?yàn)檫@是整個(gè)軟件開(kāi)發(fā)活動(dòng)中核心部分,也是能展示給用戶并能使用的一部分。