2017年11月19日 星期日

[Android] 一人Android開發之道

今天看到一篇頗有共鳴的文章,
討論如果在公司只有你一個人是Android developer時,
要怎麼存活下去。
其實這篇有人翻譯了,網路上找的到,
所以我挑重點說+我的看法。



  • 與社群保持連結+下班後還是要自我充實
    一個人開發絕對會有盲點,尤其是你遇到的東西,google到的東西,
    可能很零散,不見得是最佳解,社群是最直接能夠與人討論,
    若是以台灣來講,首要的就是 Android Taipei 或是讀書會,甚至 MOPCON,
    我自己是滿喜歡 JCConf ,其次是 Android Taipei,
    這兩個真的可以讓你清楚知道現在職人們都在關注什麼技術。
    JCConf的好處是就不限於 Android,會沾到 Java 的知識點。
    不過新手請教人還是要注意禮貌,問人是有學問的。
    文中推薦 Android weekly 是我必看,
    還有一個是我看了文章覺得他推薦的不錯的是 Android Dialogs,這裡面的影片感覺像是很輕鬆的訪談,不會講生硬的技術像是鴨子聽雷。
    還有一個覺得太酷的網站 fragmentedpodcast
    居然有以廣播的形式談論技術,真新鮮, 感覺很適合通車的時候聽。
  • 審視你自己的PR’s 還有維持一個高要求標準
    我自己是沒有走PR’s的流程,因為公司沒有git service,只有git repo,
    文中鼓勵要寫自己提交的code評論,等於是你替你自己做 Code Review的概念,
    雖說自己有盲點,但如果你持續充實自己的話,今天的你寫的 code,
    過了幾天你再回頭看一定會有些不一樣的感觸。
    好處是你在檢視一次時或許可以發現 BUG ,發現 code 不夠 clean…等等。
    這個談話提到也是滿重要,
    聽到重點,不要推 master。 master 應該是 release 後最穩定的版本才是。
  • 不好的 pattern 比不乾淨的 pattern 好
    這邊的重點在於,一開始你可能不知道怎樣的架構好,選用了一種架構,
    後來發現了更好的架構,不免於要更換,但更換最好全部都換掉。
    所以重頭到尾應該要保持一種架構,方便之後維護。
    以我自己的思考是,在有限的開發時間,不太可能全部都換掉,60~70%換掉就很好了。
    一致性確實滿重要的。如果是持續要更新的產品更重要了。
  • 建議使用 Kotlin
    確實Kotlin有很多語法糖,也有很多好處,
    防止 null pointer 異常確實是滿不錯的。但我覺得見仁見智。
    還有一個值得注意的點,混合開發時不要用java call kotlin的模塊。
    Kotlin安卓实战之java混合开发
    我自己現在還是用 Java 的思維在寫 Kotlin。目前還不是全部的語法糖都有用到。
  • 不要太依賴第三方 Lib
    要用之前還是要評估滿多事情,除了是不是很多人使用他之外,如果是開源的話要看有那些 issue,
    另一方面也要考慮好不好測試,未來專案走向會不會卡到第三方 Lib 的問題。
    好不好用,夠不夠了解他的機制,擴充性也滿重要的。
  • 寫測試還有用輔助自己的開發的工具
    無論如何還是要寫測試,即使 deadline 就在眼前,
    MVP 和 dagger 都可以輔助測試,透過 CircleCI 可以持續集成,發佈,
    我是使用了Jenkins 和 MVP ,其實概念是一樣的。
  • 告訴你的ios設計師裝置設計的差異
    持續了解 Android Material Design 有助於和設計師溝通。
    當然像公司裡的其他人傳教也是滿重要的,
    不僅讓自己更了解,也讓別人掌握觀念。
    這點真的是溝通的學問。我是認為要看人格特質。
  • 盡早發佈測試版到 Google play
    其實上架 google play 可能不小心會擋掉有的沒的,
    也可能你裝apk沒問題,從架上安裝就悲劇了,
    及早發佈測試,及早發現問題,是最好不過了。
    可以參照我這篇文章

其實一個人開發,也不用覺得不好,
想想你沒遇到很糟的開發 Partner 來破壞你的 App,來當伸手牌,
一個人或許開發自由度就大了,還因此省了溝通成本。
有個信任你的公司,有不錯的社群交流,一個人開發也是很美好的。

沒有留言:

張貼留言