iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Mobile Development

30 天從麻瓜變 Android 工程師系列 第 4

Day 04:程式語言

寫 Android 會遇到的語言


Kotlin

用途:
這是寫 Android 的主要語言,請務必熟練,
另外附上 coding style

熟練度:高

Java

用途:
Android 過去使用的語言,
同個專案內可以同時有 Kotlin 與 Java,
許多公司、套件、教學範例、Stack Overflow 上都還有不少 Java 的 code,
Android Studio 中,在 Kotlin 檔中貼上 Java code 會被提示自動翻譯成 Kotlin,
但如果是 Kotlin code 貼到 Java 檔就沒有,所以還是需要會寫。

熟練度:高

可以在 GitHub 上看到該 repo 所使用的程式語言比例。

Gradle Kotlin DSL、Gradle Groovy DSL

用途:
這裡的 Kotlin 跟 Groovy 都是特定領域版(DSL),
這是為了寫 Android 建構工具 - Gradle 所需的,
舊版是用 Groovy DSL、新版是 Kotlin DSL。

熟練度:低

SQLite

用途:
Android 的 local 資料庫,也有些公司面試會考手寫。

熟練度:中

Python

用途:
這跟 Android 其實無關,但 Python 非常常用,
我參與的專案也有用在像是更新 api 內容進 code 中、更新版本機制等等,
如果有餘力,是很好的第二語言。

熟練度:低

英文

用途:
官方文件、Google I/O、Stack Overflow、教學文、外商公司、
甚至 Android Studio 本身就沒有中文版。

原則


程式領域有很多原則,像是 SOLIDDRYKISS 等等,都建議看一下。

我就不放連結了,當然書也很多,之後會再寫一篇介紹。

  • Clean Code 無瑕的程式碼
  • 重構─改善既有程式的設計

結語


雖然有一堆理論,平常也很難時時刻刻檢視、遵循,
我自己有些 mindset 像是,
寫的時候:

  • 可讀性、可測試、易維護
    有時間還債的時候:
  • 補測試、修 lint、重構

工程師面試有一個有趣的文化是白板題,
面試官會口述情境,然後應試者要在白板上寫 code,
所以如果是準備面試的話,偶爾用筆寫一下,不然會被 IDE 寵壞。

很多時候我們學了很多,卻發現現實是,
反反復復的商案,
為了某些用戶、機制需要 workaround,
看到了 lint 卻沒時間修,也沒有時間重構,等等許多問題,
這些東西累積起來,會變成,新功能就加不進去、舊功能也沒人敢動,
最後就只能重寫整個 APP,
之後的文章也會針對這些可怕的狀況做討論。


上一篇
Day 03:Android 開發工具
下一篇
Day 05:Android SDK
系列文
30 天從麻瓜變 Android 工程師30

尚未有邦友留言

立即登入留言