商业项目中代码质量是否重要?
生活随笔
收集整理的這篇文章主要介紹了
商业项目中代码质量是否重要?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這是一篇比較老的
文章,但是文中的這些問題在現(xiàn)在仍然普遍存在。代碼質(zhì)量的高低與商業(yè)產(chǎn)品的優(yōu)劣是否有直接的影響?開發(fā)者Frank Sommers在文中給出了他的看法。文章內(nèi)容如下。
在大多數(shù)商業(yè)項(xiàng)目中,代碼質(zhì)量并不被看重,因?yàn)榇蟛糠智闆r下,代碼不是整個(gè)項(xiàng)目的最終產(chǎn)品,客戶最終使用的是二進(jìn)制文件,而不是源代碼。相比代碼質(zhì)量,開發(fā)流程、進(jìn)度和技能更能決定產(chǎn)品最終的質(zhì)量。
在現(xiàn)實(shí)生活中,我?guī)缀鯊膩頉]有遇到一個(gè)對他所工作的代碼完全滿意的商業(yè)軟件開發(fā)者。相反,我甚至認(rèn)識到, 開發(fā)者對其所工作的代碼的滿意度與代碼給老板所創(chuàng)造的價(jià)值成反比關(guān)系。
我的一個(gè)朋友在世界上最大、最賺錢的數(shù)據(jù)庫公司的核心服務(wù)器組件部門工作,他時(shí)常感嘆龐大的代碼庫中那些丑陋的命名約定,對于開發(fā)者來說,很難在這些代碼的基礎(chǔ)上開始工作。但是,不可否認(rèn), 就是這些丑陋的代碼庫為該公司創(chuàng)造了高達(dá)數(shù)十億美元的收入。
不幸的是,開發(fā)者一邊感嘆著代碼質(zhì)量,一邊還不得不繼續(xù)做這項(xiàng)奇怪的、與眾不同的工作。 說這項(xiàng)工作與眾不同,是因?yàn)橛脩舨荒軓淖罱K產(chǎn)品中直接看到你的付出。如果你是一個(gè)音樂家,你可以根據(jù)自己的喜好來塑造每一個(gè)音符和樂句,并直接呈現(xiàn)給聽眾。如果你是一個(gè)木匠,你的產(chǎn)出是實(shí)際的椅子或櫥柜。
但是作為一名開發(fā)者,除了你工作的開發(fā)環(huán)境和開發(fā)團(tuán)隊(duì)外,你幾乎沒有留下什么東西。客戶看到的是二進(jìn)制文件,而不是你的源碼。 除非你的產(chǎn)品是開源的,或者包含源碼文件,否則,除了開發(fā)團(tuán)隊(duì)的人外,幾乎沒人看到或者關(guān)心這些代碼,而你每天在這些代碼上花費(fèi)了大量寶貴的時(shí)間。
大多數(shù)編譯器也不關(guān)心代碼的質(zhì)量,比如,變量如何命名、方法是否簡潔、對象模型是否清晰、甚至不管你使用了什么算法,編譯器對這些都沒有興趣, 無論代碼是優(yōu)雅還是丑陋,都能創(chuàng)建出效果相同的二進(jìn)制文件。比如,當(dāng)你閱讀這篇文章時(shí),你根本不會(huì)考慮當(dāng)前頁面源代碼的質(zhì)量。
當(dāng)然,作為開發(fā)者,我們必須關(guān)心代碼質(zhì)量,因?yàn)槲覀兠刻煲ㄙM(fèi)大部分的時(shí)間來與這些代碼打交道。而且, 作為一個(gè)合格的開發(fā)者,我們應(yīng)該努力打造和維護(hù)一個(gè)高質(zhì)量的代碼庫。
我們花費(fèi)大量時(shí)間來打造更高質(zhì)量的代碼,我們通常會(huì)說現(xiàn)在所做的工作將會(huì)在一段時(shí)間后帶來更多的商業(yè)利益,以此來體驗(yàn)我們所做的努力。但是,代碼質(zhì)量很少直接導(dǎo)致任何可衡量的商業(yè)投資回報(bào)。比如我那位在數(shù)據(jù)庫公司工作的朋友的例子,他認(rèn)為這些代碼丑陋不堪、難以閱讀,但是依然能夠很好地創(chuàng)造利益。 該公司專注的是產(chǎn)品的整體質(zhì)量,而不是代碼的質(zhì)量。
總體產(chǎn)品的質(zhì)量,不是通過改善單一活動(dòng)的質(zhì)量就能提升的。 開發(fā)者測試、敏捷開發(fā)方法、QA(質(zhì)量保證)、CI(持續(xù)集成),這些所有的流程保證了最終高質(zhì)量的產(chǎn)出。代碼質(zhì)量只是其中的一小部分。商業(yè)軟件公司往往會(huì)更專注于產(chǎn)生高質(zhì)量產(chǎn)品的過程,因?yàn)檫@比起強(qiáng)調(diào)代碼質(zhì)量來說,能獲得更好的回報(bào)。
通常來說,產(chǎn)品經(jīng)理很清楚以上這些內(nèi)容。但是對于開發(fā)者來說,必須日復(fù)一日地工作在他們認(rèn)為“丑陋”的代碼基礎(chǔ)上。這意味著,開發(fā)者注定一直無法對他們所工作的代碼的質(zhì)量感到滿意。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
在大多數(shù)商業(yè)項(xiàng)目中,代碼質(zhì)量并不被看重,因?yàn)榇蟛糠智闆r下,代碼不是整個(gè)項(xiàng)目的最終產(chǎn)品,客戶最終使用的是二進(jìn)制文件,而不是源代碼。相比代碼質(zhì)量,開發(fā)流程、進(jìn)度和技能更能決定產(chǎn)品最終的質(zhì)量。
在現(xiàn)實(shí)生活中,我?guī)缀鯊膩頉]有遇到一個(gè)對他所工作的代碼完全滿意的商業(yè)軟件開發(fā)者。相反,我甚至認(rèn)識到, 開發(fā)者對其所工作的代碼的滿意度與代碼給老板所創(chuàng)造的價(jià)值成反比關(guān)系。
我的一個(gè)朋友在世界上最大、最賺錢的數(shù)據(jù)庫公司的核心服務(wù)器組件部門工作,他時(shí)常感嘆龐大的代碼庫中那些丑陋的命名約定,對于開發(fā)者來說,很難在這些代碼的基礎(chǔ)上開始工作。但是,不可否認(rèn), 就是這些丑陋的代碼庫為該公司創(chuàng)造了高達(dá)數(shù)十億美元的收入。
不幸的是,開發(fā)者一邊感嘆著代碼質(zhì)量,一邊還不得不繼續(xù)做這項(xiàng)奇怪的、與眾不同的工作。 說這項(xiàng)工作與眾不同,是因?yàn)橛脩舨荒軓淖罱K產(chǎn)品中直接看到你的付出。如果你是一個(gè)音樂家,你可以根據(jù)自己的喜好來塑造每一個(gè)音符和樂句,并直接呈現(xiàn)給聽眾。如果你是一個(gè)木匠,你的產(chǎn)出是實(shí)際的椅子或櫥柜。
但是作為一名開發(fā)者,除了你工作的開發(fā)環(huán)境和開發(fā)團(tuán)隊(duì)外,你幾乎沒有留下什么東西。客戶看到的是二進(jìn)制文件,而不是你的源碼。 除非你的產(chǎn)品是開源的,或者包含源碼文件,否則,除了開發(fā)團(tuán)隊(duì)的人外,幾乎沒人看到或者關(guān)心這些代碼,而你每天在這些代碼上花費(fèi)了大量寶貴的時(shí)間。
大多數(shù)編譯器也不關(guān)心代碼的質(zhì)量,比如,變量如何命名、方法是否簡潔、對象模型是否清晰、甚至不管你使用了什么算法,編譯器對這些都沒有興趣, 無論代碼是優(yōu)雅還是丑陋,都能創(chuàng)建出效果相同的二進(jìn)制文件。比如,當(dāng)你閱讀這篇文章時(shí),你根本不會(huì)考慮當(dāng)前頁面源代碼的質(zhì)量。
當(dāng)然,作為開發(fā)者,我們必須關(guān)心代碼質(zhì)量,因?yàn)槲覀兠刻煲ㄙM(fèi)大部分的時(shí)間來與這些代碼打交道。而且, 作為一個(gè)合格的開發(fā)者,我們應(yīng)該努力打造和維護(hù)一個(gè)高質(zhì)量的代碼庫。
我們花費(fèi)大量時(shí)間來打造更高質(zhì)量的代碼,我們通常會(huì)說現(xiàn)在所做的工作將會(huì)在一段時(shí)間后帶來更多的商業(yè)利益,以此來體驗(yàn)我們所做的努力。但是,代碼質(zhì)量很少直接導(dǎo)致任何可衡量的商業(yè)投資回報(bào)。比如我那位在數(shù)據(jù)庫公司工作的朋友的例子,他認(rèn)為這些代碼丑陋不堪、難以閱讀,但是依然能夠很好地創(chuàng)造利益。 該公司專注的是產(chǎn)品的整體質(zhì)量,而不是代碼的質(zhì)量。
總體產(chǎn)品的質(zhì)量,不是通過改善單一活動(dòng)的質(zhì)量就能提升的。 開發(fā)者測試、敏捷開發(fā)方法、QA(質(zhì)量保證)、CI(持續(xù)集成),這些所有的流程保證了最終高質(zhì)量的產(chǎn)出。代碼質(zhì)量只是其中的一小部分。商業(yè)軟件公司往往會(huì)更專注于產(chǎn)生高質(zhì)量產(chǎn)品的過程,因?yàn)檫@比起強(qiáng)調(diào)代碼質(zhì)量來說,能獲得更好的回報(bào)。
通常來說,產(chǎn)品經(jīng)理很清楚以上這些內(nèi)容。但是對于開發(fā)者來說,必須日復(fù)一日地工作在他們認(rèn)為“丑陋”的代碼基礎(chǔ)上。這意味著,開發(fā)者注定一直無法對他們所工作的代碼的質(zhì)量感到滿意。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的商业项目中代码质量是否重要?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国人为什么学不会英语
- 下一篇: 换挡/挂档