30+关于如何成为更好Android开发者的简短而专业的建议

泡在网上的日子 / 文 发表于2017-08-27 01:57 次阅读

ps:一年以前作者写了一篇文章:一个2年安卓开发者的一些忠告 ,这篇文章算是一个升级版。

原文:30+ Bite-Sized Pro Tips to Become a Better Android Developer 

ezgif-2-2e14d70057.jpg

成为一个Android开发者容易,成为一个成功而又出色的Android开发者难。要达此成就需要许多努力,激情,付出与毅力。

我无法给出一个成为成功开发者的捷径,但是如果你愿意付出汗水与内心的话,定会如愿以偿。

关于如何成为更好的Android开发者,应你们的要求这里是根据自身经验得出的一些精简的专业性建议。所以如果你决定入坑Android开发或者已经做了Android开发一段时间,那么你找对地方了。

所以废话不多说,让我们开始吧。

1. 进一步熟悉Android框架内部

我不是说熟悉其文档,而是指框架代码。许多开发者害怕去深入Android框架内部,了解其工作原理以及各个部分是如何相互配合的。

如果你想在Android平台更上一层楼,大胆的接触Android SDK的内部,和它成为朋友。

2. 克服错失恐惧症

Android很大,非常的大。你不可能在一两个月内就从头到尾学一遍。学的越多,会发现更多的新东西需要学习。作为一个初学者,总是担心自己学漏了什么是非常正常的。

但是要克服这种担忧,学习自己目前开发的app所需要的就够了,然后慢慢的开拓自己的视野。

3. 开始阅读更多代码

许多开发者不愿意抽时间去阅读别人的代码,只把大部分时间花在写自己已经知道的东西上面。

但是那样不会帮助你成长,也不会增长你的知识。你应该开始阅读其它的开源app和开源库的代码。每天阅读30分钟的代码是一个好的开始。你会惊奇的发现原来还有这么多你不知道的东西。

提示: 可以从这些最佳的开源app开始。

4. 考虑学习更多的语言

我不是叫你去学西班牙语或者中文,而是学习一门新的编程语言。你应该跟上这个行业更新的步伐而不是一辈子局限于Android。

这将开阔你的视野并帮助你大幅提高Android开发技术。下决心一年至少学习一门新的编程语言,但是不要只花一周时间学个大概就丢掉不管了,而是深入研究。

提示:阅读 这篇 超赞的文章可以帮助你做出更好的决定。(剧透-答案是Javascript) 

5. 是时候学习Java设计模式了

我再怎么强调设计模式在你Android开发生涯中的重要性都不为过。一般来讲,每当你遇到一个棘手的编程问题的时候,设计模式真的可以很大程度上帮助你找出一个优雅的解决方案。

除此之外,你需要跟其它开发者在同一个频道,这样当他们在讨论Factory , Decorator , Facade 的时候你立马就知道他们的意思。

发誓一周学习一种新的设计模式。

提示:这里有一个非常棒的资源。如果你喜欢书籍,你一定要阅读 这本

6. 开始贡献开源代码

如果你开发出了有用的东西并在自己的app中使用它,那么可以考虑把它开源。这个过程会让你学到很多东西。

如果你没有什么可以开源,考虑找一个自己喜欢的其它开源项目,在之上修复一些bug,完善文档或者编写测试。

即使是最小的贡献对维持项目的运行维护者来说都是非常有帮助的。

提示:这里 是帮助你开始贡献开源项目一篇不错的指南。 

7. 熟悉IDE

花更多时间熟悉你正在使用的IDE-Android Studio。它可以做的事情远比你想象的多。这个IDE中隐藏着很多很酷的功能和快捷键,大部分开发者都不知道或者根本没有尝试过。

要养成探索工具新功能和更好使用方法的习惯,提高工作效率。

提示: 这里 是一篇帮助你像专业人员一样掌握Android Studio的文章。

8. 是时候合理的架构app了

大多数时候我们都笼统的把代码放到Activity和Fragment中(在这个问题上你也可以责怪我),导致它们变成庞大的“上帝对象”,这几乎不可维护和测试。

为app采用一个好的架构是非常重要的,比如MVPMVVMRedux等。考虑把app的业务逻辑,视图交互,数据交换分为不同的层,让它们更易管理和测试。

提示:看一看谷歌的 这些 模版可以让你在架构app的时候更容易。

9. 学习Android简洁代码规范

这是一个不可以忽略的问题。与那些连基本的Android开发编码规范都不遵守的人一起工作是很困难的。

这不是什么困难的事情,要不了几个小时的时间就可以学习基本的Java 和 Android 编码规范。而且这不是一次性买卖,作为一个开发者终生受益。

提示:这里 有一个开始学习标准编码规范的极佳资源。

10. 花时间学习Android最佳实践

要让自己比其他开发者更有优势,并能构建出好看又好用的app,你需要开始学习一些安卓开发最佳实践。

在成为更优秀的开发者的路上有一些“该做”与“不该做”的行为准则,可以让你的app脱颖而出。

提示:这里是一个一些最佳实践的集锦。

11. 通过收听电台更高效的利用好业余时间

当你上下班,健身房,开车,做饭的时候,你聪明的大脑其实没做什么事情,可以利用这些时间收听一些Android电台。

提示: Fragmented Podcasts 和 Android Developers Backstage 是两个不错的电台,可以从它们开始。

12.不要太工程师思维,现实点

这种事不光发生在我身上,还发生在我的几个同事身上。开始工作之前多思考是对的,但是过度思考过度分析除了导致不必要的迷茫,担忧,拖延之外,什么也不会发生。

做对当前项目有益的事情就好了,以后可以根据需要再做调整。

13. 尝试学习一下设计

作为一个开发者把焦点放在编写更好的代码上是可以理解的。但是如果你想成为一个全能的开发者,你应该开始每天学习和理解关于UI和UX方面的知识。

这将完全改变你看待自己一直开发的app的方式。试着和团队里的UI或者UX设计师交流,更深入的理解app设计。

提示:如果你对理解设计是如何工作的感兴趣,读一读  本书。

14.成为完美主义者

这是一个比较主观的话题,因为我认为“完美”的别人未必认为。但是一般来说,尝试尽可能的做出自己最好的产品。

不要轻易满足。别只为了完成任务而做事。对自己的工作要充满激情,做的比别人更好。这会让自己不断成长,最终成为一个成功的开发者。

15. 坚持是成功的关键

如果你想成为一个成功的developer开发者,你需要做到持之以恒。

做事只坚持几天或者几周然后放弃不会有什么实质收获。规划好今后几年自己想成为什么样的Android开发者然后不管遇到什么困难都坚持不懈。

开始做一件事很容易,但时间长了之后很难以同样的激情继续下去。

16. 从小的开始循序渐进

作为一个开发者,你应该尝试把复杂的问题和功能分割为更容易理解的细小,简单,独立的模块,然后相对轻松的快速解决。

别一开始就被一个项目的庞大和复杂给击败了。只要方法正确任何事情都能解决。从小的开始,循序渐进,一步一步扩展。

17. 手中总是有一个练手项目

有一个练手的项目可以完全改变你学习事物的方式。如果你遇到了什么新的东西,要习惯性的在练手项目中做一下尝试。

比如你发现了一个有趣的开源项目,你应该开始在练手项目中把玩它,而不是大概看下文档和API。这样你对该library的理解会深刻得多。

18. 开始写更多得测试

测试得重要性我不能再强调得更多了。如果没有写详细得测试,你就不能声称一个功能完成了。测试能帮助你对自己得代码建立起自信。

别因为犯了忽略测试,把它看成可有可无得东西的错误,导致今后bug丛生。记住,没有测试的代码立即就变成了遗留代码。

19. 考虑采用测试驱动开发(TDD)

当你正在开发一款app的时候,考虑以健壮和高效的方式去构建它,这样可以顺利通过测试。

开始遵守 TDD 的“红-绿-重构”周期模式。首先,你所编写的测试可能会失败(红),然后写一些实际的代码让这个测试通过(绿),接着进一步优化精简代码(重构)。

测试驱动型开发是一种编程期间控制焦虑的方式。焦虑会让你变得很具有试探性。焦虑让你不想与人沟通。焦虑让你害怕反馈。焦虑让你变得心浮气躁。—— 来自 TDD 的案例

20. 配置一个合适的自动发布机制

作为一名开发者,尽量少花时间在本该自动化的事情上,比如app的质量检查和发布。

你应该使用像 CheckStyle , PMD , Lint , FindBugs 那样工具来做质量检查。在合并到主分支之前运行所有的单元测试和真机测试是必要的。

当所有这些检查通过后,你就会得到一个可以将 APK 发布到 Play 商店或者分发到其他渠道(比如 Crashlytics Beta )的绿色信号。

提示: Play 商店自动发布可以使用这个工具。

21. 拥抱响应式编程

如果你想进一步提高自己的技术,你绝对该考虑去拥抱响应式的编程方式。这会迫使你颠覆在构建app时思考方式。

使用响应式的方式编程绝对会对编写交互式的app有所帮助,同时也让日常开发更轻松愉快。

提示:Here 这里是一个不错的学习RxJava基础的一系列教程。

22. 学习用Kotlin进行Android开发

Kotlin是目前Android开发中最受热爱与讨论的语言之一。现在它也成了开发Android app的官方支持语言。这门简单的语言为Android的世界带来了一股新鲜空气。

对于那些对老旧,笨重,易错的Java感到厌倦的人来说,它是最好的礼物。可以尝试一下,你会肯定会从中再次找到已经丢失的开发乐趣。

提示:了解更多为什么你应该开始学习用Kotlin开发Android的原因:

屏幕快照 2017-08-27 02.06.59.png

23. 参加见面会与其他开发者进行更多的社交

我们开发者一般都是比较内向,喜欢坐在角落的电脑前,沉浸在自己的个人世界。

但是要试着离开自己的舒适区,与其他开发者一起交流。参加开发者见面会,社交聚会,与兴趣相同的开发者一起交谈,这些都能让你学到很多东西。

提示:这里 是一个找到你感兴趣的见面会的不错之地。

24. 熟悉键盘的快捷键

尝试养成尽可能少用鼠标的习惯。 几乎所有的Android Studio操作都有对应的快捷键。

这将显著减少你的开发时间,提高工作效率。虽然一开始记住这些快捷键可能会花一些时间,但是从长远来看会帮助你进入真正的无鼠标工作流。

提示:如果你不想用过时的方法记住快捷键,这里 有一个非常棒的AS插件可以帮到你。

25. 一周至少学习一个新的安卓知识

在广阔的安卓世界里,有许多东西要学,一开始你可能会被吓到。但是如果你许诺每周只学习一个Android知识点,事情就变得简单了。

列举出所有你不知道的东西,按照设定的优先级一周一个的解决。几个月后你会发现自己早已甩开了当初的自己几条街。

26. Automate anything that eats your time

做开发的天生就懒,总是想找到一个简单的方法去做无聊的工作。

所以如果你一天要好几次重复又无聊的事情,可以考虑将它自动化。一周下来可以节省不少时间,省下来的时间可以用在其他有益的事情上。

提示: 可以看看 这个 帮助你连接日常工具与自动化交流的神奇工具。

27.考虑运行两个版本的Android Studio

总是使用一个稳定版本的Android Studio来做重要的日常工作。但是也要安装一个canary 或者 beta 版本的 Android Studio 。有时这些版本会提前更新许多新特性,你可能乐于尽早体验。

28. 时不时的检查一遍第三方库

我们都喜欢在需要的时候使用第三方库,这没什么问题。但是要养成偶尔检查所有第三方库库的习惯,移除掉那些不再需要的。

如果你只使用了一个库的一小部分功能,可以考虑提取出那部分而不是使用整个库。同时,偶尔检查还可以帮助你了解library的紧急更新。

29. Learn better ways of refactoring legacy codebases

不要一次性重构庞大的遗留代码库,小心吃不了兜着走。

更好的办法是重构目前立即需要着手的部分,然后在需要的时候慢慢的扩展到其它部分。另外,在改动疑似会影响现有功能的代码之前,考虑为重构的页面编写测试。

提示:这本书彻底改变了我处理遗留代码的方式。你也应该读一读。 

30. 总是在低端设备上测试

如果你想像专业的开发者一样开发,绝不要犯在高端设备上测试app的错误。一般来说开发者都是高端旗舰机,所以也用它们来测试app。但这是你需要克制的。

买你能在市场上找到的最便宜,最底端的设备,养成在它们上面开发app的习惯。你会看到之前你完全遇不到的许多问题。

31. 买你买得起的最好工作设备

别因为买了一个低端设备的错误而毁了你日常的开发体验。

考虑使用Mac(优于Windows)来开发,你会爱上它的简洁与稳定。

那么,如果你要买一个MacBook的话考虑你能买到的最好配置,几百美元不会对你造成多大影响,而你永远会因为这个决定感谢自己。

希望这些建议可以帮助你成为一个更好的Android开发者。建议你也看了,应该也明白了其中的意思,接下来是把它们付诸实践的时候了,只有这样你才能体会到它们的真正力量。

如果你觉得本文有用,请通过社交媒体推荐给你的朋友,同事,敌人或者任何人。

本文最初发表在 TechBeacon

收藏 赞 (32) 踩 (2)
上一篇:一个实现ItemDecoration动画的研究案例
原文: Animating RecyclerView’s ItemDecoration Case study of implementing animated ItemDecoration in RecyclerView 一个实现ItemDecoration动画的研究 案例 。 长期以来DaftMobile的博客都是iOS开发的领地,里面都是关于iOS的东西。今天我们将开始一
下一篇:关于小米手机调用系统相册崩溃的问题
最近在使用第三方聊天插件leancloud的时候,调用系统相册的图片,相同的代码。 小米手机选择了图片之后,小米机会崩掉(别的机子,啥版本都没问题)。 看异常信息,指示cursor.moveToFirst(),空指针异常。也就是说,cursor为空。是uri的问题,4.4之前,返回