《28歲未成年》--- 寫給程式猿

Hly_Coder發表於2016-12-28

前段時間看了這場電影,之前沒有聽說過任何相關內容,完全是衝著名字去的。
這部電影具體怎麼樣就不評價了 畢竟一千個人眼中有一千個哈姆雷特,咳,但可能其中600個都有點磕磣,不過王大陸還是很帥氣的。
雖然過了這麼久 但片末的一句話讓我印象深刻,作為文章的開頭。原文記不清了,大概意思是

17歲的你從未離開過,找回原來的你,還是可以無所不能的

      
“你丫原來是走雞湯路線的?”
這位童鞋,先牽走心頭奔騰的羊駝,不要急,畢竟雞湯在身子骨虛弱的時候也是可以補一補的。
雖然作為程式猿的你現在不需要知道宇宙第一定律,也不需要關心化學式的配平,但如果你還會從事編碼的工作一陣子 亦或一輩子.
我這有幾個不成熟的小建議,算是對自己工作這麼久的一個的經驗總結,也分享給大家.

心態

這裡的心態主要是指的專案中的心態。
舉例來說,一個手機專案中,有人負責鎖屏模組,有人負責電話系統模組。
某個茶餘飯後 負責鎖屏的同事無意間聽到了電話系統的同學在討論rild,modem這些新鮮並且相對底層的技術 覺得高大上,心身嚮往,認為自己模組所用技術不夠底層,想拋棄自己的模組去研究下底層技術。(很多做app的同學羨慕做系統定製的同學很有可能也是這個出發點。)
但在你決定邁出這一步的時候請先問一問自己 是否對自己的模組瞭如指掌,遇到的bug能否快速定位大概的位置,推測出可能出現的情況,模組架構是否合理,隨著版本的迭代有哪些演進。
如果並沒有清晰的回答,還是建議先沉下心來,不要隔岸觀花 也許這邊風景獨好.

視角

當今無論移動端 前段還是後端,每隔一段時間都會有新的庫出現。以android來說,現在glide okhttp大行其道, rx rn方興未艾,雖然你不用再去關心圖片儲存 執行緒切換這些頭痛的問題, 但面對玲琅滿目的庫,使用和學習成本卻變高了。這是被廣大程式設計師所垢病的, 並且認為程式是個吃青春飯 看不到出路的行業。
之所以會這樣以為,我認為是因為著眼點一直在API這一層,是一種面相應用的學習。
我們為什麼要用有限的生命去嘗試無線的開源庫呢?
如果將視角放到更高的層面,跳出五行外,會輕鬆很多,因為萬物皆五行.
說成白話就是:

  1. 你是android framework工程師, 就應該多去總結android子系統的設計套路,會發現它不過是一個包裹著linux的系統,所有模組架構都大同小異
  2. 你是android app開發者,就儘量去了解api背後的實現原理,當面對新版本的釋出,第一時間去官網和原始碼檢視,以最小的代價瞭解差異
  3. 學習java, 就多去了解該語言背後的設計思想,在有新的面嚮物件語言出現時,能迅速借鑑和學習 .
  4. 你是程式猿,首先應該學會的是學習學習的方法,閱讀第一手資料,看流行的開源專案,閱讀經典的書籍.

你著眼的視角越高,越能做到在新框架,新系統來臨的時候,"人束手無策,我遊刃有餘"

好奇心

android開發中傳送通知大家都會,並且api沒有使用難度。
但你有沒有想過這樣一個問題?
通知欄的圖示和佈局結構是如何從你的app程式傳遞到SystemUI程式的?同理,lanuncher程式裡的桌面小部件又是如何拿到三方app資源的?
在最常規的click事件面前,這個事件又是經歷了哪些階段才被最後響應的?
每個簡單api後面也許都蘊藏著一個或者多個解決經典問題的經典方法,保持好奇心去弄懂他們,這樣,當你需要自己設計實現的時候可以有據可循,不用悶頭苦想。

最後

用2句我比較喜歡的話作為總結

  1. O ever youthful, O ever weeping
  2. 低頭走路,抬頭看天

  
歡迎關注公眾號,談談技術,聊聊人生

《28歲未成年》--- 寫給程式猿
qrcode_for_gh_665b92827be4_344.jpg

相關文章