|
英文原文:Write Less Code
軟件開(kāi)發(fā)的一個(gè)最基本的事實(shí)是:我們必須要寫(xiě)代碼,但對(duì)于這樣的一個(gè)事實(shí)的最大一個(gè)誤解是:我們的工作就是寫(xiě)代碼。作為軟件程序員的最初幾年,我一直被這樣的思想所迷惑,寫(xiě)代碼是一種很強(qiáng)的事,是一種超能力,我們喜歡這種創(chuàng)造東西、成就東西的感覺(jué)。然而,多年之后,我終于明白,事情不是這樣的。事情的真相是:一個(gè)程序員的工作的本質(zhì)是寫(xiě)盡可能少的代碼。
不要誤解,我指的不是像 code golf 那樣壓縮代碼、節(jié)省字符——這樣只會(huì)導(dǎo)致我們寫(xiě)出的代碼無(wú)法閱讀和維護(hù)。如果你能認(rèn)識(shí)到這樣的事實(shí):我們大部分的時(shí)間都消耗在維護(hù)自己寫(xiě)的可怕的代碼上,你就會(huì)發(fā)現(xiàn),讓代碼最少、少給自己找麻煩,這無(wú)疑就會(huì)變成一個(gè)相當(dāng)有創(chuàng)意的好思想。
為什么?
你可以查看一下,看看你用的工具,看看你用的框架。所有你做的,所有這些你使用的工具,都是用來(lái)減少代碼量的。這些工具能減少犯錯(cuò)誤的機(jī)會(huì),把開(kāi)發(fā)過(guò)程中能導(dǎo)致犯錯(cuò)的因素隔離開(kāi)。
所以,為什么我們應(yīng)該讓代碼盡量少?我承認(rèn),我之前說(shuō)我們的工作是寫(xiě)最少的代碼,這是撒了個(gè)小謊。我們真正的工作是思考,我們的工作是思考手頭的問(wèn)題,設(shè)計(jì)一個(gè)精彩的解決方案,最后把這個(gè)方案轉(zhuǎn)變成軟件。創(chuàng)造軟件過(guò)程中的一個(gè)副產(chǎn)物就是我們需要寫(xiě)出這些代碼。
代碼是副產(chǎn)物
代碼并不是你想象的那么重要。我們喜歡用各種理由說(shuō)明代碼很重要:因?yàn)殚_(kāi)始寫(xiě)代碼就意味著我們開(kāi)始工作,把方案轉(zhuǎn)化成軟件,看起來(lái)就像是寫(xiě)代碼是過(guò)程同時(shí)也是目的。我們談?wù)撻_(kāi)發(fā)工具,我們談?wù)撜Z(yǔ)言選擇,我們談?wù)撻_(kāi)發(fā)環(huán)境。我是這樣,你也是,大家都這樣。享受這種敲擊鍵盤(pán)的手藝似乎無(wú)可厚非??蓡?wèn)題在于,我們需要多方面看問(wèn)題。代碼是精彩的,但它也是敵人,它需要你花時(shí)間去寫(xiě),它很脆弱,它可能晦澀難懂,不是那么健壯。
這就是為什么我一直堅(jiān)守“寫(xiě)最少的代碼”的原因。不論何時(shí)當(dāng)我感到有什么東西比它應(yīng)該有的體積要大或應(yīng)該有的情況更復(fù)雜,我就會(huì)說(shuō)“寫(xiě)最少的代碼”。每次當(dāng)我寫(xiě)了太多的代碼,使得很難維護(hù)時(shí),我就重構(gòu),整理,所有的時(shí)候我都銘記著“寫(xiě)最少的代碼”。
我不得不提到一點(diǎn),有時(shí)候我們沒(méi)有辦法避免寫(xiě)出一大堆的代碼,如果做不到精簡(jiǎn),請(qǐng)保持清晰。寫(xiě)最少的代碼就是寫(xiě)整潔的代碼。寫(xiě)最少的代碼是為了寫(xiě)出干凈的代碼。當(dāng)你對(duì)要寫(xiě)的代碼精打細(xì)算時(shí),你的代碼就自然變的很清晰。
那么,我們的啟示是什么?我想這最重要的啟示是,代碼只是副產(chǎn)物,我們?cè)陂_(kāi)發(fā)過(guò)程中不可避免的東西。所以,多思考,多重構(gòu),刪除老舊的代碼,用更新更少的代碼替換,為你自己的好,今天就開(kāi)始吧。
it知識(shí)庫(kù):寫(xiě)更少的代碼,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。