记录思考

一位两年 Android 开发经验的总结

Aritra Roy 是一个全栈工程师,Android 极客,UI/UX 设计师,兼职的博客主。据我所知,是一个印度人。

Aritra Roy 是一个全栈工程师,Android 极客,UI/UX 设计师,兼职的博客主。据我所知,是一个印度人。他从 2014 开始投身到 Android 开发中,这是他写的一篇关于 Android 开发的经验。这是 2016 年写的,当时离他开始进入 Android 开发大概两年的时间。

这些是他两年多的 Android 开发积累的经验和总结。

1.不要重复造轮子

刚开始,他并不喜欢开源的库,而是喜欢自己去实现。这是一个很糟糕的想法。有时候我也是这样的,包括现在。

如果当你开发应用的时候碰见了一个问题,而这个问题已经被别人解决掉了,那么为什么不利用它呢,你可以节省下来很多时间。

把更多的时间和精力放在业务逻辑上。

2.明智的选择库

Github 上有很大很多开源的库随便供你选择,并且都是免费的。不要太兴奋而随便选择某一个库。

首先可以先看一下这个库的关注度,stars 越多越好。然后看看这个作者有没有创建其他更好的库。然后看看 issues 列表,那些打开的,关闭的,可以看出这个库的稳定程度。

你要确定你引入的库是要尽量稳定可靠的,高质量的,最好还是一直有人在维护的。

3.坐下来,喝一杯咖啡,阅读更多的代码

原谅我直接翻译了。

我们总是把大部分时间用在阅读别人的代码而不是自己写代码。如果你不是这样,那么从今天开始改变。

这个是他的一个观点,我是觉得不要去硬扣字面意思,他想表达的是要多阅读别人的代码,特别是优秀的代码,而不要一味的自己埋头写代码。

你今天写的那些代码,是你在之前曾经阅读多,学习过。你只是在实现你已经会的知识。你只有在阅读和学习别人的代码中,才能成长和进步。

Android 本身就是一个开源的平台,你可以去研究 framework 是如何实现的。Github 上有那么多优秀的库,你可以从中选择一个,看看它的开发者是如何实现它的。

4.看在上帝的面子上,保持适当的代码标准

如果把编码比作写作,那么代码标准就好比你的笔迹。

你一直在阅读别人的代码,而别人也在阅读你的代码。你总不希望你的代码把人吓一跳吧。特别是如果你在一个团队中,和别人一起写代码,那么就应该更加注意了。

大部分人还是属于团队开发的,即使再小的公司,再小的项目,也很少会是单独开发的。即使是自己的项目,或者你是一个独立开发者,也需要注意代码标准。不然你连你自己写的代码都不认识。

5.你需要 ProGuard

ProGuard 是一个混淆的工具,首先它会减小代码的体积。另外它会让代码再进行反编译后,不那么容易阅读。

总之,你没有理由不用它。

6.使用合适的架构

每当项目开始的时候,你需要选择一个适合的架构,比如 MVP。MVP 可以帮助你把代码分散在不同的层中,提高代码的可读性,更容易阅读。

7.良好的 UI 设计

如果你的角色只是一个 Android 开发者的话,可以忽略这点。因为公司配备了 UI/UX 设计师。而如果你是独立开发者话,就像作者一样,那么你是很需要有一个良好的 UI 设计的想法的。

干净,简单,漂亮的 UI 设计对于用户来说是那么的重要。你那些高深的程序设计,构架,设计模式,算法都是由 UI 包装起来的,用户看不见这些,他们只看见了 UI。

8.分析工具是你的好朋友

崩溃报告收集和应用使用数据是你一定需要的。

在任何时候,你不可能做到完美。用户会在各种各样的 Android 设备上启动你的应用,总有一款崩溃适合你。不要灰心。

崩溃报告收集工具能帮助你发现他们,解决他们。

应用使用数据可以帮助你分析用户的行为。这对于独立开发者很重要,而一般公司,产品经理或者运营会负责这方面的工作。

9.做一个运营的忍者

可以看出作者经常作为一个独立开发者的身份进行应用的开发,运营。对于独立开发者来说,运营一个应用也很重要。怎么运营推广一个应用,方式方法很多,但是,在此之前,你需要保证的是,你的应用是稳定可用的。不要花很多时间,经历,金钱,然后把一个半成品推送到用户跟前,那么用户除了选择卸载还能做什么?

10.优化你的应用

写代码和写优质的代码是有很大的区别的。我们需要的是运行更快,使用更少的内存,更少的存储空间占用的代码。

11.优化 gradle 构建

现在的 Androd 应用一般使用 gradle 来构建。gradle 是强大的,但是很慢。gradle 的配置也总是给开发者带来一些麻烦。看来不光是中国开发者,老外也这样。花时间在优化 gradle 构建总会带来一些时间上的节约的收获的。

12.测试

没有比测试更重要的事情了。并且尽量花时间写脚本来进行自动化测试。

13.Android 碎片化

Android 最大的问题就是碎片化了。Google 也没有很好的解决这个问题。很不幸,你需要去适配他们。

14.使用 Git

Git 算是非常主流的版本控制工具了。不会 git 都不好意思跟人打招呼了。当然,我是觉得有些人有点唯装备论了,Git 再好也只是一个工具而已。主要还是看自己的需求。

15.反编译

Android 的开源生态,让 Android 应用很容易被反编译,逆向工程。你需要有安全的意识,如何保护的各种 key,token 等信息。

没有百分之百的安全,你只能尽力了。

16.在低端手机上开发

每个人都喜欢高端手机,但是做为开发者,你需要的是低端手机。有些时候,高端手机的性能或者一些特性掩盖了你代码质量的问题。

17.学习设计模式

这个应该是适用于所有语言的开发者。要提高自己的编码能力,对设计模式的学习和理解很重要,这些都是前人们在大量的业务项目中总结出来的方法。

18.回馈

基本上,没有网的话,大部分开发者就废掉了。因为我们都是面向 stackoverflow 编程,面向 google search 编程,面向 github 编程。我们在网络上得到很多知识,得到很多解决方案。在我们得到帮助的时候,也是时候回馈一下。把自己学到的,解决的,理解的知识,经验,分享出去。

以上 18 点,是作者的一些经验和分享,也有我的一些瞎编。这是原文的链接 : https://blog.aritraroy.in/what-my-2-years-of-android-development-have-taught-me-the-hard-way-52b495ba5c51

- EOF -

本文链接 https://spacepage.top/articles/2018.08.02-15_01_06-2-years-of-android-development.html,欢迎转载,转载请注明出处。