程序員一般都有個(gè)追求完美的“毛病”。這個(gè)問題記得以前也分析過,我就有這個(gè)毛病。
這兩天發(fā)現(xiàn)自己又要范這個(gè)毛病了,忽然間想到,趕緊坐下來好好想想,提醒一下自己。
具體情況是這樣的。這幾天,答應(yīng)朋友做一個(gè)網(wǎng)站,心里想著做的好一些,忽然間就想到借鑒一下petshop這個(gè)范例,于是開始研究起petshop來,這一研究發(fā)現(xiàn),里面的學(xué)問大著呢,可不是一天兩天就能搞明白的。但據(jù)說petshop是個(gè)很優(yōu)秀的范例,于是心里就在發(fā)狠,非把它搞清楚不可。然而,我的目的是什么?做一個(gè)網(wǎng)站。誠然,petshop非常完美,有許多值得學(xué)習(xí)借鑒之處,但對于我的網(wǎng)站真的就有那么大的作用嗎?或者一定要用它那種模式不可嗎?當(dāng)然不是,按照我目前的水平開發(fā)出來的產(chǎn)品,無論從設(shè)計(jì)模式還是架構(gòu)上,與petshop相比,都顯稚嫩,但也并非次品。抽出時(shí)間學(xué)習(xí)先進(jìn)的技術(shù)、優(yōu)秀的設(shè)計(jì)模式,這本沒有什么問題,每個(gè)程序員都在努力提升自己,以寫出更完美的程序??赡芪覀兡贸霭肽昵暗某绦蛟倏矗3拹翰灰眩何覟槭裁磿懗鲞@么爛的代碼!恨不得馬上拿過來重構(gòu)。但時(shí)間和精力都允許我們這么做,人總是在不斷地進(jìn)步。
所以,當(dāng)前的任務(wù)是要在一定的時(shí)間內(nèi)完成一個(gè)網(wǎng)站,這個(gè)網(wǎng)站要符合用戶的需求。人的能力總是在不斷提升,追求完美沒有什么錯誤,但當(dāng)前你的能力已經(jīng)足夠完成這個(gè)任務(wù)了。當(dāng)然會有更好的解決方案、更好的算法、更好的設(shè)計(jì)模式,但目前的情況也沒有那么糟糕,可能會有一些問題,但已經(jīng)足以滿足所有的用戶需求了。事情總不會那么完美,找到一個(gè)平衡點(diǎn)似乎才更要緊。
俗語言:瓜無滾圓,白玉微瑕。