iT邦幫忙

2022 iThome 鐵人賽

DAY 1
1

緣起

每半年我都想學一樣新的技術或語言,但半個月前在尋找選項時,卻忽然感到了迷惘。
新技術迭代地如此迅速,我不可能跟上每一項酷東西,更何況再過一、兩年,或許原本看似勢不可擋的新技術就會被扔在垃圾堆中,乏人問津。

「那有什麼技術,是可以持續使用而不會被屏棄的呢?」我不禁問自己。「什麼東西是我寫程式生涯當中必定會被用到,且不會過時?」
答案是明顯的,程式的本質必然不會悖於自己。
那我們該如何去撰寫程式?

什麼樣的程式簡潔高效?
怎樣的程式易於維護?
我,想寫出什麼樣的程式碼,又想要從別人那裡接手到什麼品質的專案?
是糾纏不清的義大利麵條,抑或是形體明確且單純的積木?

唯一有效的程式品質度量單位:每分鐘罵髒話的次數(WTFs/minute)

回首那些曾經接手維護的專案,我不禁厭惡起同樣可能寫出那樣程式碼的自己,是以我決定暫緩追逐永無止盡的技術。這一次不要急著挑選先進武器,先來練練體能吧!

Clean Code

程式碼的品質至關重要,這想必是我們的共識,不然也不會在此篇文章相遇,但品質的建立可能比我預想的要艱難很多(也就是這系列文章可能會很難寫)。

學習工藝典範可分為兩部分:知識和實作。你必須獲得程式工藝師所知道的原則、模式、實踐及啟發等知識,並且必須研磨這些知識,透過努力實作和練習,將之完全融入你的手指、眼睛和身體裡。......clean code 是困難的任務,不只必須掌握原則和模式的知識,還必須在這方面流過汗水才行。

上面這段話,是 Uncle Bob 在自序中所言明的。是以這次的閱讀也許會比自己先前猜測的艱困些,畢竟除了閱讀,興許還要來點實作。
但這大概就是我真正所需要的。
在《刻意練習》一書中,作者十分看重心智表徵的運作,因為那是掌握一門技藝的重要關鍵。
這次藉由學習原則及實作,我也期待能夠一窺程式先驅們的心智運作,好使我能更好地去掌握撰寫程式的方法。

鐵人賽預期

這是我第一次參加鐵人賽,預期藉由歸納、反哺【無瑕的程式碼:敏捷軟體開發技巧守則】這本書,用每天3~5分鐘的閱讀文長,能夠與大家一同成長。
內文如有錯誤或疏漏之處,還請不吝指教。

這裡要特別感謝鼓勵我參賽並揪團的 Nick,使我跨出第一次 IT 邦幫忙的分享之旅。他這次以題目
Web3:我所嚮往的加密世界來帶大家一窺Web3的世界;
另外感謝一同參賽的 Olivia,趕稿日子有妳有我不孤單。與我同樣第一次參賽的她帶來 ASP.NET Core 30 天旅程 ,對 ASP.NET 有興趣的朋友歡迎前往。

究竟這30天結果會如何呢我也不知道,但就讓我們一起享受這段無暇程式碼的修練之旅吧!反正......我志在完賽,不在得名。/images/emoticon/emoticon01.gif
那麼,共讀內容將在明天正式開始!


下一篇
無瑕的程式碼
系列文
重新開始學程式,【無瑕的程式碼:敏捷軟體開發技巧守則】共讀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言