色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

軟件開(kāi)發(fā)如同木匠做桌子

  英文原文:It Should Only Take You a Few Hours…

  做一張桌子看起來(lái)十分的簡(jiǎn)單。任何人都可以做,不是嗎?找個(gè)大塊的四方形木板,四個(gè)等長(zhǎng)的木頭柱子,四個(gè)釘子和一個(gè)錘子。把四個(gè)柱子釘?shù)剿姆桨宓乃膫€(gè)角上,你就做成了一個(gè)桌子。當(dāng)當(dāng)當(dāng)!

  現(xiàn)在來(lái)讓一個(gè)真正的木匠為你打造一張桌子。首先他要花時(shí)間跟你討論桌子的用途和功能——用在室內(nèi)還是室外,廚房還是餐廳,主要用來(lái)展示還是使用,它需要能夠承受多大的負(fù)載。然后他需要確定使用什么樣的材料——軟木還是硬木,用木板還是三合板還是鐵軌枕木。然后他會(huì)研究桌子的風(fēng)格——桌邊的截面設(shè)計(jì),桌腿底座設(shè)計(jì),桌腿是按在中央還是四角。這最后,他才去動(dòng)手做這張桌子,他花大量的時(shí)間去斜截,鑿眼,契合所有的連接點(diǎn),安裝撐條,使用高質(zhì)量的粘膠,木釘,螺釘,他要檢查表面平整,打磨它,著色,封蠟,拋光——打造出一張能夠引以為豪的桌子。看起來(lái)是一大堆的事情要做,不是嗎?它只是一張桌子,不是嗎?

  兩種做桌子的方法存在著很多不同之處,你看出來(lái)了沒(méi)有?

  只用了四個(gè)釘子的桌子看起來(lái)很毛糙,它不穩(wěn),因?yàn)樽劳炔焕喂蹋滥_不平,頂多能用一個(gè)星期,它的一個(gè)腿就會(huì)扭斷,根本承受不起一個(gè)鹽罐子的重量。木匠的桌子看起來(lái)更好,好用而且美觀,它很牢固,不搖晃,桌腿經(jīng)過(guò)矯正,直的,很平,沒(méi)有棱角,能用很久,你完全可以放心的在它上面擺上一頓豐盛的晚餐跟一群客人享用。你更想要哪個(gè)?

  當(dāng)人們談?wù)撈疖浖蠖鄶?shù)人想像的工作量很像第一張桌子的建造過(guò)程。只需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù),填上一些數(shù)據(jù),畫(huà)出一些界面,這就完了,你就得到了一個(gè)軟件產(chǎn)品。我無(wú)論如何都想不出人們這樣的一種認(rèn)識(shí)是怎么產(chǎn)生的。也許是人們用慣了Excel——“我可以用Excel做這些,所以編程應(yīng)該很簡(jiǎn)單”。什 么?

  開(kāi)發(fā)軟件不容易。需要做很多的工作。非常像那個(gè)木匠做桌子的方式。作為設(shè)計(jì)師和程序員,我們需要理解業(yè)務(wù)、用戶(hù)用例,以及產(chǎn)品功能。我們需要討論和理解誰(shuí)將要用它,它有什么功能,它如何和其它軟件集成,它要用在什么地方,數(shù)據(jù)量如何,等等,等等。我們?nèi)缓蟛湃セù罅康臅r(shí)間搭建架構(gòu),確保它能承受用戶(hù)和數(shù)據(jù)負(fù)載壓力,要能夠升級(jí)和擴(kuò)展,要能處理大數(shù)據(jù)量情況(例如單表負(fù)載)。我們?nèi)缓笮枰嗟臅r(shí)間寫(xiě)出有質(zhì)量的、可讀的、可維護(hù)的代碼,測(cè)試每個(gè)組件,確保它們正確、快捷的運(yùn)行,改正bug,清除瓶頸(在數(shù)據(jù)庫(kù)表模型上使用正確的結(jié)構(gòu)和關(guān)聯(lián))。我們還要使用更多的時(shí)間來(lái)把這些組件組合到一起,確保每個(gè)接口都正確的調(diào)用,確保錯(cuò)誤都被捕捉到,確保界面設(shè)計(jì)可用,簡(jiǎn)單,美觀(桌子的切截,鉆孔,契合,打磨,著色,拋光)。最終,我們交付客戶(hù)一個(gè)完整的可信賴(lài)的產(chǎn)品,一個(gè)符合需求的產(chǎn)品,一個(gè)我們和你們都引以為豪的產(chǎn)品。

  我相信,木匠很少會(huì)遇到像程序員需要面對(duì)的那樣讓人抓狂的事。也許他的客戶(hù)也會(huì)抱怨做這個(gè)桌子花了太長(zhǎng)的時(shí)間,或造價(jià)太高。也許他的客戶(hù)并沒(méi)有說(shuō)桌子的用途或應(yīng)該是個(gè)什么樣,然后大聲的抱怨它跟他從未說(shuō)出的期望的樣子不一致。也許他們的客戶(hù)會(huì)瞪著他說(shuō)做這樣的桌子只需要幾塊木板和幾個(gè)小時(shí),木匠做桌子已經(jīng)有幾千年的歷史了,這種桌子能有什么不同。也許他們的客戶(hù)會(huì)說(shuō)這很簡(jiǎn)單,所以應(yīng)該很快,很便宜,魔術(shù)般的做出來(lái),我猜測(cè)他們是這樣想的。

  我們的客戶(hù)完全也是這樣。而且?guī)缀趺看味歼@樣。從沒(méi)例外過(guò),最初給我們新需求時(shí)說(shuō)“這只需要你花幾個(gè)小時(shí)的時(shí)間…”,或“你可以這樣做…這樣更簡(jiǎn)單”,或“你只需要簡(jiǎn)單的把它改成…”。什么?

  對(duì)軟件產(chǎn)品增加新功能可不像多釘一顆釘子或多加一個(gè)柱子。我們需要理解新功能的形式和功用,創(chuàng)建它,測(cè)試它,寫(xiě)文檔,確保新增加的功能不會(huì)影響現(xiàn)有的系統(tǒng)。如果我們不這樣做,軟件就會(huì)做出錯(cuò),到處是bug,不能正確的運(yùn)行,給用戶(hù)來(lái)帶來(lái)大量的問(wèn)題。有很多軟件項(xiàng)目都是這樣,任何用過(guò)這種有問(wèn)題的軟件的人都不會(huì)信任它,甚至不愿意使用它。就像那個(gè)搖晃的桌子。

  如果你需要一個(gè)新功能,盡管提,但你要做好準(zhǔn)備跟我們的木匠——程序員們認(rèn)真仔細(xì)的討論它。我們會(huì)用正確的方案開(kāi)發(fā)你要的應(yīng)用,保證讓它正確的運(yùn)行,一直正確的運(yùn)行。你到我們這里來(lái)是想要有質(zhì)量、可信賴(lài)的軟件,就像是你要從木匠那得到一個(gè)有質(zhì)量的桌子。

  千萬(wàn)不要告訴我們這樣多簡(jiǎn)單,多容易——除非你自己做過(guò)。如果你真的認(rèn)為能既迅速又簡(jiǎn)單的做出來(lái),你自己試試。干吧,拼裝出一個(gè)搖晃的桌子。

  如果你希望得到一個(gè)好的產(chǎn)品,你要理解明白開(kāi)發(fā)需要時(shí)間和技能,有很多你根本想象不到的問(wèn)題在里面,工匠們也是人,是有感情的,一個(gè)好的產(chǎn)品是一個(gè)永遠(yuǎn)讓人快樂(lè)的事,值得我們付出努力和耐心,這樣,它將成為我們所有人能引以為豪的東西。

it知識(shí)庫(kù)軟件開(kāi)發(fā)如同木匠做桌子,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 镇坪县| 外汇| 洛阳市| 股票| 青铜峡市| 荥经县| 若羌县| 勐海县| 抚宁县| 北海市| 新津县| 福建省| 阿鲁科尔沁旗| 太和县| 海门市| 丘北县| 兰溪市| 茶陵县| 龙门县| 思茅市| 二连浩特市| 阿克| 新乐市| 尉氏县| 太湖县| 宣恩县| 浏阳市| 吉林省| 桐庐县| 永年县| 竹北市| 岳阳县| 祁门县| 屏山县| 通河县| 万山特区| 无锡市| 思南县| 寿阳县| 博兴县| 辰溪县|