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