寫程式的「活在當下」
過去一年花了不少心力在學習調整心理狀態,也慢慢的能夠理解「活在當下」的概念想要傳達什麼,同樣的概念也讓我想到了學習敏捷開發中的一些技巧,意外的能讓在寫程式的過程中更順利。
過去一年花了不少心力在學習調整心理狀態,也慢慢的能夠理解「活在當下」的概念想要傳達什麼,同樣的概念也讓我想到了學習敏捷開發中的一些技巧,意外的能讓在寫程式的過程中更順利。
在不該使用 Ruby 的 Class Variable 理由這篇文章中有大概提到 Class Variable 的意義在 Ruby 裡面跟我們在其他語言認知到的 static
關鍵字是不同的,那麼實際上到底差在哪裡呢?
在閱讀 mruby 原始碼之前我也想不通,然而在使用不同的技巧組合驗證特性之後,終於理解了 mruby 實作中對 RClass
(Class 物件資料)裡面所定義的 iv_tbl
(Instance Varable 對照表)的意義。
前幾天同事根據客戶的需求在實作功能時請我幫忙檢查設計上是否有問題,因為是一段遺留代碼(Legacy Code)因此調整起來也不是那麼輕鬆。
其實同事的修改方式讓我不太滿意所以給了建議去調整,這是很多新手工程師會遇到的狀況,工作很少有機會去看到高品質的程式碼,最後就只能依照有問題的遺留代碼繼續修改跟當作學習參考。
原本是想討論 Enumerable 這個 Module 的機制跟運作原理,不過越寫越發現光是一篇文章很難講明白。
所以就一邊查資料跟 Ruby 原始碼,慢慢的把 Enumerable / Enumerator 這兩個讓 #each
運作起來的機制討論清楚。
在 Ruby 裡面我們已經很熟悉使用 #each
來對陣列相關的物件進行操作,不過在大部分的語言我們都需要透過迴圈的方式來取出陣列的元素,那麼 #each
這個方法到底是怎麼讓我們用這麼方便的機制來操作陣列的呢?
上一篇文章輸在起跑點已經稍微討論過心態上的問題,所以馬上就是要怎麼開始的問題。
大部分的人不論之前有沒有經驗,一定會冒出「要學什麼語言?」「某某語言很熱門是不是應該去學?」之類的問題。
很多時候,我認為這不是真正的問題。
工作到現在差不多兩年多,因為公司業務的關係偶爾也會跟同事討論在學習當工程師或者寫程式上的經驗。所以打算寫一個系列的文章,跟大家分享一下我從學程式到成為一個工程師的過程,是怎麼樣的。
這是第一篇,我想用「輸在起跑點」來當開始。
從退伍到工作差不多過了兩年,這段時間有不少經驗我想已經足夠跟大家分享。這篇算是一個前導的文章,想來跟大家分享「第一份工作」的重要性。
重點是技能成長那段,討論薪水的地方太長可以跳過喔 XD