本文讲的是30+关于如何成为更好Android开发者的短小而专业的建议,成为一个Android开发者容易,成为一个成功而又出色的Android开发者难。要达此成就须要许多努力,激情,付出与毅力。编程
我没法给出一个成为成功开发者的捷径,可是若是你愿意付出汗水与心里的话,定会如愿以偿。设计模式
关于如何成为更好的Android开发者,应大家的要求这里是根据自身经验得出的一些精简的专业性建议。因此若是你决定入坑Android开发或者已经作了Android开发一段时间,那么你找对地方了。架构
因此废话很少说,让咱们开始吧。app
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采用一个好的架构是很是重要的,好比MVP, MVVM, Redux等。考虑把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的缘由:
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开发者。建议你也看了,应该也明白了其中的意思,接下来是把它们付诸实践的时候了,只有这样你才能体会到它们的真正力量。
若是你以为本文有用,请经过社交媒体推荐给你的朋友,同事,敌人或者任何人。