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

简介:
本文讲的是 30+关于如何成为更好Android开发者的短小而专业的建议, 成为一个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采用一个好的架构是非常重要的,比如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开发者。建议你也看了,应该也明白了其中的意思,接下来是把它们付诸实践的时候了,只有这样你才能体会到它们的真正力量。

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


本文作者:佚名

来源:51CTO

原文标题:30+关于如何成为更好Android开发者的短小而专业的建议
相关文章
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
58 3
|
3月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
87 0
|
1月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
2月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
343 3
|
2月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
54 3
|
2月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
67 1
|
3月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。
|
3月前
|
Java 开发工具 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第21天】在移动应用开发的广阔天地中,安卓和iOS两大平台各据一方,它们不仅在用户体验上有所区别,更在开发环境上展现出独特的风貌。本文将深入探讨这两大平台的开发环境差异,以及这些差异如何塑造开发者的技术路径和职业生涯。从工具和语言的选择到市场份额的争夺,我们将一一剖析,以期为即将踏入这一领域的新手开发者提供一盏明灯。
|
2月前
|
监控 算法 数据可视化
深入解析Android应用开发中的高效内存管理策略在移动应用开发领域,Android平台因其开放性和灵活性备受开发者青睐。然而,随之而来的是内存管理的复杂性,这对开发者提出了更高的要求。高效的内存管理不仅能够提升应用的性能,还能有效避免因内存泄漏导致的应用崩溃。本文将探讨Android应用开发中的内存管理问题,并提供一系列实用的优化策略,帮助开发者打造更稳定、更高效的应用。
在Android开发中,内存管理是一个绕不开的话题。良好的内存管理机制不仅可以提高应用的运行效率,还能有效预防内存泄漏和过度消耗,从而延长电池寿命并提升用户体验。本文从Android内存管理的基本原理出发,详细讨论了几种常见的内存管理技巧,包括内存泄漏的检测与修复、内存分配与回收的优化方法,以及如何通过合理的编程习惯减少内存开销。通过对这些内容的阐述,旨在为Android开发者提供一套系统化的内存优化指南,助力开发出更加流畅稳定的应用。
69 0
|
3月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
86 1