來源 | CSDN
微信公眾號 | 嵌入式專欄
我一直把自己看作編寫軟件的手藝人,并且會投入時(shí)間和精力去仔細(xì)雕刻我的每件代碼作品。伴隨著軟件功能和特性增加移除,我會對代碼進(jìn)行刪減,就好比雕刻家對作品的精雕細(xì)琢,唯一目的就是想展現(xiàn)更好的效果。
編寫軟件的過程中,不斷地增添代碼實(shí)現(xiàn)更多功能令我感到愉快,但有意思的是,我發(fā)現(xiàn)自己在刪除代碼時(shí)也能獲得非常愉悅的感覺。
好像不太對勁?
按理來說,投入大量的時(shí)間和精力去編寫的每一行代碼、每個(gè)字符都蘊(yùn)含了智慧和汗水,當(dāng)所有的付出付諸東流時(shí),應(yīng)該感到難過才對。
可我好像并沒有這樣的感覺。唯一合理的解釋是:這和我工作時(shí)的思維模式有關(guān)。
在編寫程序的過程中,我會不斷地試運(yùn)行當(dāng)前代碼,輸入某個(gè)值,看代碼能否根據(jù)邏輯運(yùn)行出相應(yīng)的結(jié)果,以此確保沒有出現(xiàn)差錯(cuò)。例如當(dāng)我修改了變量或者重構(gòu)了代碼的某些部分時(shí),我會快速執(zhí)行“測試”以確保改動沒有造成破壞。
理想情況下,軟件代碼被分為幾個(gè)具體的模塊,并且每個(gè)模塊都被希望獨(dú)立工作。但事實(shí)上,這幾乎不可能發(fā)生。因?yàn)榇箜?xiàng)目中的具體小模塊很少是獨(dú)立的,小項(xiàng)目又不足以劃分為多個(gè)模塊。
因此,我懷疑當(dāng)我不得不刪除一些代碼時(shí),我得到的樂趣并不是為了刪除本身??鞓穪碜院喕?,如果代碼庫減少了,那么在試運(yùn)行它時(shí),在我的腦海中“適應(yīng)”它會更容易。
也就是說,令我高興的不是刪除那些我投入了時(shí)間和精力創(chuàng)造的代碼,而是刪掉他們之后的簡捷感帶給我的愉悅感。
我建議你也如此。刪除代碼的同時(shí)不要因?yàn)楂@得快感而感到內(nèi)疚,相反,你選擇了更優(yōu)的方案。
參考鏈接:
https://www.rockandnull.com/joy-of-deleting-code/
免責(zé)聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。





