程式設計師的進步從每一天少寫一點程式碼開始

techug發表於2016-08-22

  Google 與網路的幫助可以讓你寫出一行又一行的程式碼。不過,若你只是複製貼上,事後並沒有嘗試瞭解背後的運作機制,充其量代表了「工作完成」。

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

我沒有時間寫一封簡短的信,所以我寫了一封長的。

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

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

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

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

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

  而要如何進步呢?則可以從三個方面下手:

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

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

  把時間花在審視與思考

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

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

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

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

  結語

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

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

  本文最初發表在 buzzorange.com

相關文章