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,
之後的文章也会针对这些可怕的状况做讨论。


<<:  JavaScript Day04 - 变数(3)

>>:  自动化 End-End 测试 Nightwatch.js 之踩雷笔记:输入

Day 22 | 使用相机获取影像

相机 可以使用Intent的方式(可复习Activity内容),开启装置上的相机应用程序获取影像,回...

OpenStack Neutron 介绍 1

本系列文章同步发布於笔者网站 昨天为读者介绍目前 OpenStack 中算是最核心的元件,Keyst...

身为面试官,如何在面试时聊技术?

一开始加入面试会议时,心里不知道要问些什麽,但与同事们不断讨论过後,才慢慢摸索出要如何开口提问。与其...

Day 26 - Stripe Follow Along Dropdown Navigation [更新]

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

帐号申请

这次要介绍的是永丰金证券的 Shioaji API,所以第一步就是要先申请帐号,帐号分两个,一个是交...