工程師進步指南:從每一天少寫一點 code 開始

也許看過你這篇文章:工程師寫 Code 的聰明省力法:Google 一次我可以寫 10 行程式碼,沒錯,透過  Google 與網路的幫助可以讓你寫出一行又一行的程式碼。不過,這代表著進步嗎?若你只是複製貼上,事後並沒有嘗試了解背後的運作機制,充其量代表了「工作完成」。

那有什麼辦法可以讓自己進步呢?也許你可以從少寫一點程式碼開始。並不是要你不工作,而是想辦法精簡自己的程式碼。在某些方面,coding 跟寫作有些類似,並不是多就是好,正如馬克吐溫說的:

我沒有時間寫一封簡短的信,所以我寫了一封長的。(I didn’t have time to write a short letter, so I wrote a long one instead.)

簡短的文字與程式碼相同,都需要耗費更多的腦力才能完成,並可以成功的運作。

簡單、經驗與理解讓你寫得越來越少

在澳洲的工程師 Elliot Chance 分享了他自己的看法,他認為要分辨兩個工程師的好壞,就是給他們一樣的時間,越好的工程師寫出來的程式碼越少(當然是要可以運作)。

除此之外,正如先前所說的,越長的程式碼並不代表越認真,有時候反而是因為懶惰,懶得思考,你才會寫出這麼長的程式碼。

而好的工程師因為從問題下手,對問題理解的非常透徹,能夠寫出簡潔易懂、容易維護的程式碼;而懶於思考,或者是較差的工程師,也許在鍵盤上敲下來一串又一串的程式碼,卻難以理解,並為後來的維護人員埋下了許多可怕的地雷。

而要如何進步呢?

則可以從三個方面下手,第一是多思考,不要以又臭又長的程式碼濫竽充數;第二則是經驗,經驗越多,你越知道該怎麼下手;最後,則是理解,透過對問題與所使用的語言、框架越加理解,越能寫的簡單易懂。

簡而言之,用一句話來說:多練習寫簡短的程式碼。

把時間花在審視與思考

在這邊要舉另外一個例子,是 Martin Thompson 在 QCon London 2016大會的演講。他提到任何創造性的嘗試都可以從不斷地審視和完善中受益

閱讀已經寫好的郵件、論文、blog 或報告等等,然後覺得某些部分可以做得更好呢?這是一件很自然的事情。當回頭審視這些東西,每次都可以獲得新的認知。

我喜歡將程式碼當作表現「當前」看法的地方。我們都會犯一些回過頭來看時可以糾正的錯誤,除了糾正這些錯誤外,我們還可以記錄我們更深入的理解。

定期閱讀所有的程式碼,而且不只是你自己的程式碼。閱讀他人的程式碼是一種很棒的學習方式。正如作家 Stephen King 所說,閱讀其他人的作品是讓你成為一個更好的作家的最好方式這同樣適用於程式碼。

結語

這時候就要拿萬用的標語來做結尾:KISS,Keep it simple and stupid。程式碼真的非常深奧,不管任何語言都有它神秘之處。

不過簡短的程式碼不一定好,則是下一階段要考慮的事情了。結合這兩篇文章,建議大家,想要好好進步的話,不如從今天開始,多思考,少寫一點程式碼吧!

 

原文出處:TechOrange