??? 忽然想到這個(gè)話題,是因?yàn)?a dragover="true" href="/zbw25">讀書、思考、生活的一篇BLOG:代碼質(zhì)量與文檔質(zhì)量。當(dāng)然如果莊子[注1]只是說代碼質(zhì)量或(比較)文檔質(zhì)量,我也就不會有什么想法了。可是該文一開始就上升到了“項(xiàng)目質(zhì)量”的高度,在吸引了足夠的眼球之后,又偷偷的把“項(xiàng)目質(zhì)量”的概念換成了“代碼質(zhì)量”。
??? 首先要說的是“項(xiàng)目質(zhì)量”和“代碼質(zhì)量”。同樣都是XX的質(zhì)量,自然具有相同之處,但這相同之處也僅就“質(zhì)量”而止。無疑代碼是項(xiàng)目產(chǎn)品的組成部分,所以 我們也就把代碼的質(zhì)量看做項(xiàng)目產(chǎn)品質(zhì)量的組成部分(注意我們談到項(xiàng)目時(shí)實(shí)際指的是項(xiàng)目的最終產(chǎn)品,在這里我并沒有偷換概念。)。由此可見,用代碼質(zhì)量來指 代項(xiàng)目(產(chǎn)品)質(zhì)量,有以偏概全的嫌疑。
??? 其次是“代碼質(zhì)量”和“文檔質(zhì)量”。迄今為止,我還沒有見過沒有任何文檔的項(xiàng)目,事實(shí)上文檔也是項(xiàng)目產(chǎn)品的一個(gè)組成部分。盡管代碼和文檔在“出品”的時(shí)間 上有差別,但最終它們都是項(xiàng)目產(chǎn)品的組成部分。由此我們可以說代碼質(zhì)量和文檔質(zhì)量都是項(xiàng)目產(chǎn)品質(zhì)量的組成部分,在這一點(diǎn)上它們是沒有先后、高低差別的。就 文檔來說,它是人們溝通的工具,本身是不應(yīng)該做為直接的代碼質(zhì)量控制工具的。文檔質(zhì)量和代碼質(zhì)量之間是平等的關(guān)系,不應(yīng)該顧此失彼。
??? 至于人為因素造成的質(zhì)量控制上的失誤,根本不應(yīng)該由某種機(jī)制來承擔(dān)。Qualified persons do qualified things.
??? 上面所說的僅是莊子一些邏輯上的不嚴(yán)密。當(dāng)然不能反對莊子提出的項(xiàng)目質(zhì)量、代碼質(zhì)量和文檔質(zhì)量,因?yàn)槿魏稳斯ぶ破范加匈|(zhì)量的要求。但從軟件的角度看,這些“質(zhì)量”都是孤立的,沒有一個(gè)完整的產(chǎn)品概念,這些“質(zhì)量”之間就缺乏聯(lián)系,盡管它們對于用戶來說就是一個(gè)整體。
??? 通常對質(zhì)量的研究都是首先把質(zhì)量本身劃分為多個(gè)要素或組成因素,從而希望從多個(gè)不同的方面來對質(zhì)量進(jìn)行控制。比如把產(chǎn)品質(zhì)量分為產(chǎn)品移交、產(chǎn)品運(yùn)行和產(chǎn)品 改進(jìn)三個(gè)方面,對應(yīng)到軟件又可以進(jìn)一步分為可移植性、可重用性、可靠性、可用性、性能、模塊性、可擴(kuò)展性、可修改性等等。
??? 在對質(zhì)量本身進(jìn)行分析后,它才形成可指導(dǎo)、應(yīng)用于生產(chǎn)過程中的原則,從而達(dá)到對質(zhì)量的控制和把握。而一個(gè)成熟的過程控制機(jī)制,必然已經(jīng)充分考慮了質(zhì)量的要 求,并以質(zhì)量為其最終目標(biāo)。當(dāng)我們考慮選擇一個(gè)合適的軟件過程控制機(jī)制時(shí),也要注意這個(gè)問題。
??? [注1]:莊子即讀書、思考、生活。
??? 首先要說的是“項(xiàng)目質(zhì)量”和“代碼質(zhì)量”。同樣都是XX的質(zhì)量,自然具有相同之處,但這相同之處也僅就“質(zhì)量”而止。無疑代碼是項(xiàng)目產(chǎn)品的組成部分,所以 我們也就把代碼的質(zhì)量看做項(xiàng)目產(chǎn)品質(zhì)量的組成部分(注意我們談到項(xiàng)目時(shí)實(shí)際指的是項(xiàng)目的最終產(chǎn)品,在這里我并沒有偷換概念。)。由此可見,用代碼質(zhì)量來指 代項(xiàng)目(產(chǎn)品)質(zhì)量,有以偏概全的嫌疑。
??? 其次是“代碼質(zhì)量”和“文檔質(zhì)量”。迄今為止,我還沒有見過沒有任何文檔的項(xiàng)目,事實(shí)上文檔也是項(xiàng)目產(chǎn)品的一個(gè)組成部分。盡管代碼和文檔在“出品”的時(shí)間 上有差別,但最終它們都是項(xiàng)目產(chǎn)品的組成部分。由此我們可以說代碼質(zhì)量和文檔質(zhì)量都是項(xiàng)目產(chǎn)品質(zhì)量的組成部分,在這一點(diǎn)上它們是沒有先后、高低差別的。就 文檔來說,它是人們溝通的工具,本身是不應(yīng)該做為直接的代碼質(zhì)量控制工具的。文檔質(zhì)量和代碼質(zhì)量之間是平等的關(guān)系,不應(yīng)該顧此失彼。
??? 至于人為因素造成的質(zhì)量控制上的失誤,根本不應(yīng)該由某種機(jī)制來承擔(dān)。Qualified persons do qualified things.
??? 上面所說的僅是莊子一些邏輯上的不嚴(yán)密。當(dāng)然不能反對莊子提出的項(xiàng)目質(zhì)量、代碼質(zhì)量和文檔質(zhì)量,因?yàn)槿魏稳斯ぶ破范加匈|(zhì)量的要求。但從軟件的角度看,這些“質(zhì)量”都是孤立的,沒有一個(gè)完整的產(chǎn)品概念,這些“質(zhì)量”之間就缺乏聯(lián)系,盡管它們對于用戶來說就是一個(gè)整體。
??? 通常對質(zhì)量的研究都是首先把質(zhì)量本身劃分為多個(gè)要素或組成因素,從而希望從多個(gè)不同的方面來對質(zhì)量進(jìn)行控制。比如把產(chǎn)品質(zhì)量分為產(chǎn)品移交、產(chǎn)品運(yùn)行和產(chǎn)品 改進(jìn)三個(gè)方面,對應(yīng)到軟件又可以進(jìn)一步分為可移植性、可重用性、可靠性、可用性、性能、模塊性、可擴(kuò)展性、可修改性等等。
??? 在對質(zhì)量本身進(jìn)行分析后,它才形成可指導(dǎo)、應(yīng)用于生產(chǎn)過程中的原則,從而達(dá)到對質(zhì)量的控制和把握。而一個(gè)成熟的過程控制機(jī)制,必然已經(jīng)充分考慮了質(zhì)量的要 求,并以質(zhì)量為其最終目標(biāo)。當(dāng)我們考慮選擇一個(gè)合適的軟件過程控制機(jī)制時(shí),也要注意這個(gè)問題。
??? [注1]:莊子即讀書、思考、生活。