送給當(dāng)代軟件開發(fā)者的咒語:"Write Less Code"
在2012年的時候,筆者寫過這樣一篇文章:Write Less Code,在當(dāng)時還不錯,但是在那之后,我在PageCloud工作,兩年之后,再回過頭來看這篇文章,現(xiàn)在,帶著兩年的思考和經(jīng)驗(希望如此),對這篇文章重新修改。
軟件開發(fā)的基本真理就是寫代碼。不過最大謬論之一就是為工作而寫代碼。當(dāng)我第一次開始寫代碼的時候就落入了這個陷阱。編寫代碼是一件很棒的事情。敲打鍵盤讓自己有成就 感,就想正在完成自己的夢想。但是這些年,我學(xué)到的東西則更重要——作為軟件開發(fā)者盡可能寫更少的代碼。
別誤會,我的理解,我們不應(yīng)該將自己置身于編寫代碼,或者敲打讓人難以理解的代碼情境中。事實上,花一點時間思考,我們會發(fā)現(xiàn),我們大多數(shù)的時間,都用來維護(hù)代碼。編寫更少的代碼,而不是為自己創(chuàng)造更多的工作看起來像是一個相當(dāng)好的主意。
為什么?
多看看,我的使用工具,使用的框架。我做的所有的事情,用的所有的工具,都是為了寫更少的代碼。使用工具為了減少代碼中的錯誤,讓你走更少的彎路。
那么,為什么要寫更少的代碼呢?之前,我說你的工作是寫更少的代碼,而今看來,那時候,我是錯的。實際上,你的工作是思考,是思考遇到的問題,找到一個可靠的方法并把它用到軟件開發(fā)中去。開發(fā)軟件的一個副產(chǎn)物就是我們不得不寫代碼來解決問題。
代碼意味著結(jié)束
代碼沒那么重要。我們喜歡說服自己,我們正在開始執(zhí)行、并把我們的解決方案放入軟件中。這樣看來,代碼既是一種方式也意味著結(jié)束。我們談?wù)撟约核?的編輯器,談?wù)撐覀冏钕矚g的編程語言,談?wù)撌褂铆h(huán)境。每個人都在談?wù)摚硎茏约旱墓ぷ?,沒什么不好意思的。重點是你是否專注。代碼很棒,但他也可能是敵 人。及時我們花很多時間去寫,他也可能很脆弱,不夠清楚,甚至不夠穩(wěn)定。
這就是為什么我要說的"Write less code"。無論何時,我覺得這個項目或者代碼塊變得比想象中大、復(fù)雜,我就會想到"寫更少的代碼"。無論何時,我寫了多少代碼,甚至寫了一頁又一頁,我重構(gòu)他,我重寫他,同時思考"寫更少的代碼"。
有時候,如果不能寫出簡潔、干凈的代碼,對自己來說,寫一堆代碼就是很痛苦的事情。寫更少的代碼就是寫干凈清晰的代碼。當(dāng)你"節(jié)約代碼"的時候,就意味著,你在寫更少的代碼,意味著你寫代碼的目的就是讓他變得簡潔。
那么,我從中學(xué)到了什么?我認(rèn)為寫完代碼就意味著結(jié)束,在軟件開發(fā)中解決各式各樣的問題就不可避免。所以多思考,重構(gòu)、刪除以前的老代碼,并且使用更少代碼編寫新代碼。
不要猶豫,從今天開始,就這樣做。
英文原文:medium.com
文章轉(zhuǎn)載自:慧都控件網(wǎng) 及譯文鏈接:送給當(dāng)代軟件開發(fā)者的咒語:"Write Less Code"