858 次閱讀 | 發(fā)布時(shí)間:2012-1-26 |
向本站投遞新聞【
保存文章至硬盤】【
打印文章】【字體: 】
編程就像是吃飯。
今晚我加班,有點(diǎn)餓,沒有廚房,沒有小吃。環(huán)顧四周,我只看到街角的麥當(dāng)勞。
于是我就面臨了一個(gè)選擇難題,我是現(xiàn)在去吃垃圾食品來填飽肚子呢還是再忍一忍,然后回家吃一頓健康的?
在我思考這個(gè)問題的時(shí)候,我不由自主的將這個(gè)問題和代碼的質(zhì)量聯(lián)系了起來。
健康的飲食是連續(xù)非離散的?
顯然吃麥當(dāng)勞不是健康的飲食。但是吃麥當(dāng)勞巨無霸的時(shí)候,配色拉要比配薯?xiàng)l健康一點(diǎn)。去星巴克買一個(gè)金槍魚面皮卷顯然要比任何麥當(dāng)勞套餐健康。去當(dāng)?shù)氐男〉旰纫煌霟釡@然要比星巴克的金槍魚面皮卷健康。當(dāng)然,自己在家做一頓新鮮的晚餐比上述的任何飲食都要健康。
這里有兩點(diǎn):
1. 任何東西都是相對的。你總是可以做的更好或者更差。吃巨無霸不等于自殺,但是整天不吃飯就等著回家的新鮮晚餐也是不健康的。
2. 每頓飯都是獨(dú)立的。我今天吃了麥當(dāng)勞并不代表我明天也要吃麥當(dāng)勞。通常情況下,每一頓飯吃什么的決定都是一個(gè)獨(dú)立的判斷。
代碼如食物
和食物一樣,代碼的質(zhì)量也是連續(xù)的。
簡單的來講,沒有經(jīng)過測試,沒有文檔的代碼要比有測試和文檔的代碼的質(zhì)量低。但是事實(shí)往往比這個(gè)復(fù)雜,就像是一灘渾水。每個(gè)人都有他們自己的標(biāo)準(zhǔn)來判斷代碼的好壞。有些人很清楚自己的編程習(xí)慣和問題,也懂得如何改進(jìn)。而有些人則一直在寫著垃圾代碼,并不考慮他們的代碼是否健康。
做健康的選擇
像對待食物一樣來對待代碼。
就如你必須得吃東西一樣,你必須得提交代碼。但是你怎么吃或者怎么提交將會(huì)產(chǎn)生短期和長期的影響。
如果你采用麥當(dāng)勞式的方法,那你就是發(fā)布了垃圾代碼,但是滿足了短期的需求。但是你會(huì)嘗到長期的惡果。你的代碼將難以維護(hù),不會(huì)擁有健康的未來。
如果你采用自己做飯的方法,那你就必須忍受一段時(shí)間的“饑餓”。短期來看你是餓著了,但是長遠(yuǎn)的來看,效果是正面的。
如何做決定?
編寫健康的代碼和健康的飲食有相同的要求:意識到并且堅(jiān)持做。從吃垃圾食品到吃健康的食物需要首先意識到吃的東西可以改進(jìn)。要執(zhí)行這個(gè)改進(jìn),你需要堅(jiān)持你的決定。編程也是一樣的。
不管怎樣,你的選擇必須實(shí)用。你必須得吃東西,你的代碼在將來的某個(gè)時(shí)刻必須提交。在沒有選擇的情況下,麥當(dāng)勞也得吃。就如很多時(shí)候,你必須提交寫的像狗屎一樣的代碼。但是請記住,健康的編碼是連續(xù)的。在不能完全達(dá)到“健康”的狀況下,你可以改進(jìn)一點(diǎn)點(diǎn),就如吃巨無霸的時(shí)候可以配色拉,而非薯?xiàng)l。
世界上沒有最健康的實(shí)物。任何東西在進(jìn)到你胃里之前,對你都沒有任何好處。同樣的,代碼質(zhì)量是很重要,但是你不發(fā)布你的代碼的話也是一無用處。
增量改進(jìn)你的代碼是不錯(cuò)的選擇。每天進(jìn)步一點(diǎn)點(diǎn),而不是推翻重來。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。