来自: https://techbeacon.com/how-become-better-android-developer-30-bite-sized-pro-tips

成为一名 Android 开发人员很容易,但成为一名成功的Android开发人员并从中脱颖而出并非如此。要想在这份工作中取得成就,需要付出很多努力,热情,奉献精神和坚持不懈的精神。

我无法向您展示任何捷径,但如果您愿意付出努力,您一定会获得您应得的所有成功。

为了帮助您成为更好的Android开发人员,我根据自己的经验编写了一些专业提示。因此,无论您是刚刚决定加入Android开发还是已经在Android开发人员工作了一段时间,这些技巧都将与您相关。

  1. 更熟悉Android框架内部
    我不是在谈论文档而是实际的框架代码。我见过许多开发人员,他们害怕潜入Android框架内部。不要成为其中之一。当你看到事物的实际运作方式以及不同的部分如何恰当地融合在一起时,你能发现多少令人惊奇。
    如果您需要启动 Android 游戏,请不要回避 Android SDK 的内部工作,并开始与之建立友好关系。

  2. 克服你对失踪的恐惧(FOMO: Fear Of Missing Out)
    Android 很大,很大。你不能在一个月或三个月内完全学习它。你学的越多,你就越能理解你不知道多少。作为一个初学者,通过尝试在仍处于极度无知状态的情况下尝试构建重要信息而错过学习关键信息是完全正常的,但试图克服它。
    了解您开始使用当前正在使用的应用程序所需的内容,然后慢慢拓展视野。

  3. 开始阅读更多代码
    大多数开发人员不花时间阅读其他开发人员正在编写的内容。他们大部分时间都在写他们已经知道的东西。
    但这不会帮助您成长为完整的 Android 开发人员。真正成为更好的开发人员的唯一方法是阅读更有经验的开发人员的优秀代码。您应该开始查看其他开源应用程序和库,在那里您将发现许多您以前不知道的编码技术和功能实现。

  4. 考虑学习更多语言
    显然,我并没有告诉你学习西班牙语或中文。我说你应该学习新的编程语言。您需要随时了解行业中发生的事情,而不是将您的思维局限于Android领域。
    这将打开您的视角,激发新想法,并帮助您显着提高您的Android开发技能。决定每年学习一种新的编程语言。
    提示:如果您还不知道,JavaScript是一个很好的起点。

  5. 是时候学习Java设计模式了
    我不能强调这对你的 Android 开发职业生涯有多重要。无论何时你都试图解决一个关键的编程问题,设计模式可以成为救星。
    您还需要与其他开发人员在同一页面上,这样当他们谈论使用 Factory,Decorator 或 Facade 模式时,您立即就会知道它们的含义。
    每周都要向自己承诺学习一种新的设计模式,直到你了解它们中的大多数。

https://github.com/iluwatar/java-design-patterns

  1. 开始为开源做贡献
    如果您已经开发了库,插件或其他有用的代码,并且您在自己的应用程序中使用它,请考虑开源。在为开源项目做贡献或维护自己的项目过程中需要学习很多东西。这是开源开发中一个优秀的速成课程,它将以指数方式提高您作为开发人员的价值。
    如果您没有任何开源资源,请考虑查看您感兴趣的其他开源项目,并修复一些错误,改进文档或在那里编写一些测试。
    即使是最小的贡献(例如修复文档中的一些语法错误)也会有助于项目维护者保持项目的运行。

  2. 让IDE为您服务
    开始花更多时间了解您正在使用的IDE:Android Studio。它可以做的比你想象的要多得多。 IDE中隐藏了许多很酷的功能和快捷方式,大多数开发人员甚至都没有尝试发现这些功能和快捷方式。
    养成习惯,找到让您的工具更有效的新方法,从而改善您的工作流程和工作效率。
    提示:这是一篇很棒的文章,可以帮助您掌握Android Studio。

https://www.intellectsoft.net/blog/use-android-studio-like-a-pro/

  1. 是时候正确构建您的应用程序了
    大多数情况下,我们最终将所有代码都倾倒在 Activity 或 Fragment 中,将它们变成了巨大的上帝对象,这些对象几乎无法维护和测试。
    为您的应用程序采用良好的体系结构非常重要,例如 MVP 或 MVVM。将应用的业务逻辑,视图交互和数据交互分成不同的层,以便于管理和测试。
    提示:查看Google提供的这些有用蓝图,以便通过Android应用程序架构设计让您的生活更轻松。

https://github.com/googlesamples/android-architecture

  1. 了解Android的清晰编码指南
    您也不能忽视这一点,因为在与不编写干净代码的开发人员合作时,很难维护Android开发的标准编码指南。

https://github.com/ribot/android-guidelines/blob/master/project_and_code_guidelines.md

  1. 花一些时间学习Android最佳实践
    为了让自己比其他开发人员更具优势,并构建看起来很好且运行良好的应用程序,您需要开始学习 Android 开发的一些最佳实践。
    了解有助于您成为更好的开发人员的做法和注意事项,并帮助您的应用程序脱颖而出。

https://github.com/futurice/android-best-practices

  1. 通过收听播客有效利用您的空闲时间
    尽量有效地利用你的时间。当你上下班,在健身房锻炼,开车或做饭时,你的天才大脑并没有做太多。
    通过收听一些Android播客,您可以在这种时候进行多任务处理。

https://fragmentedpodcast.com/
http://androidbackstage.blogspot.com/

  1. 不要过度设计事物。现实点。
    我已经看到这不仅发生在我身上,也发生在一些开发人员身上。在开始研究它之前考虑一些事情是好的(非常好,实际上),但过度思考和过度分析导致不必要的混乱,延迟和焦虑。
    做一下现在对项目有益的事情,你可以随时根据需要适应不断变化的情况。

  2. 尝试学习设计
    我可以理解,作为开发人员,您主要关注的是学习编写更好的代码。但是,如果您想成为一名完整的开发人员,您应该开始花时间学习和理解用户界面(UI)和用户体验(UX)设计。
    这将改变您查看已编码的应用程序的方式。尝试与团队中的UI和UX设计人员进行更多交流和互动,以更好地了解应用程序设计。

http://www.nixdell.com/classes/HCI-and-Design-Spring-2017/The-Design-of-Everyday-Things-Revised-and-Expanded-Edition.pdf

  1. 开始成为一个完美主义者
    “完美”是一个主观术语,但根据经验,尝试始终实现您需要提供的最佳产品版本。
    永远不要满足于此。不要为了它而做某事。对你正在做的工作充满热情,并且比最好的工作做得更好。从长远来看,这将帮助您不断成长并成为更成功的开发人员。

  2. 一致性是成功的关键
    如果您想成为开发人员(或生活中的任何其他人),您需要保持一致。
    做几天或几周然后戒烟不会带你到任何地方。不要变幻无常。尝试在未来几年内可视化您希望成为 Android 开发人员的位置,并坚持您的目标,无论遇到什么样的挑战。
    很容易开始做一些事情,但很长时间以同样的热情和奉献精神继续做这件事很难。

  3. 从小处开始。慢慢扩张。
    作为开发人员,您应该始终尝试将您正在处理的任何复杂问题或功能分解为可以轻松快速地理解和解决的小型,简单且独立的组件。
    不要对项目的初始大小或复杂性感到不知所措。一旦你走在正确的轨道上,一切都可以解决。从小处开始,采取婴儿步骤,然后缓慢扩展。

  4. 总是手头有一个游乐场项目
    正在进行游乐场项目可以彻底改变您学习的方式。如果您在某个地方遇到 Android 新功能,请养成在您的游乐场项目中立即尝试的习惯。
    假设您在某个地方遇到了一个有趣的 Android 库。您应该在游乐场项目中测试它,而不是仅仅浏览文档和API。这将使您更好,更深入地了解库。

https://github.com/stefanJi/android-playground

  1. 开始编写更多测试
    我不能强调这是多么重要。在为其编写详尽的测试用例之前,您不能认为某个功能是完整的。测试将帮助您在代码中建立信心。
    不要忽视测试或将其视为可选的错误,并在以后的回归错误中让您的生活更加痛苦。

  2. 考虑采用TDD
    在开发应用程序时,请考虑选择以强大而有效的方式构建应用程序,以便它能够经受住时间的考验。
    考虑遵循测试驱动开发(TDD)的“红 - 绿 - 重构”循环。首先,编写将失败的测试用例(红色),然后编写实际代码以使测试通过(绿色),最后,清理并优化它(重构)。
    “测试驱动开发是一种在编程过程中管理恐惧的方法。恐惧让你试探性。恐惧让你想减少沟通。恐惧让你回避反馈。恐惧让你脾气暴躁。 “ - TDD示例

    http://blog.cleancoder.com/uncle-bob/2014/12/17/TheCyclesOfTDD.html

  3. 建立适当的自动发布机制(持续集成 CI)
    作为开发人员,尽量花费尽可能少的时间来处理应该自动化的事情,例如应用质量检查和发布。
    您应该使用CheckStyle,PMD,Lint和FindBugs等工具自动化质量检查机制。在合并任何重大变更之前运行所有单元和仪器测试也是必须的。
    当所有这些检查通过后,您将获得绿色信号,将APK发布到Play商店或以您想要的任何其他方式分发。

https://mp.weixin.qq.com/s/6ae3i5Zuo8svX0wMGQoggw

  1. 采用响应式编程方法(RxJava)
    如果您想提升Android开发人员的技能,那么您一定要考虑采用响应式方法。这将迫使您在构建应用程序时以完全不同的方式进行思考。
    采用响应式肯定会帮助您更快地编写交互式应用程序,让您的开发生活更轻松,更有趣。

  2. 学习使用 Kotlin 进行 Android 开发
    自谷歌在Google I / O 2017上宣布对Kotlin编程语言提供一流支持以来,对该语言的兴趣一路飙升。这种随和的语言为Android开发世界带来了一股清新的空气。
    对于那些厌倦了相同的旧的,冗长的,容易出错的Java应用程序的Android开发人员来说,这是个好消息。试一试,看看它是否点燃了你的新灵感。

https://kotlinlang.org/docs/reference/

  1. 参加聚会,与其他开发者进行更多社交活动
    我们的开发人员往往非常内向,喜欢和我们的计算机坐在一个角落里,在我们自己的世界里。
    尝试离开您的舒适区并与其他开发人员进行更多互动。当你参加开发者聚会和社交聚会时,或者只是与其他与你的兴趣相似的开发者交谈时,有很多东西需要学习。
    提示:访问 meetup.com 查找您感兴趣的聚会。

  2. 熟悉键盘快捷键
    您可以在Android Studio中执行几乎所有操作的键盘快捷键。学习这些快捷方式将大大缩短您的开发时间并改善您的工作流程。记住键盘快捷键可能需要一些时间,但从长远来看,它将帮助您迈向真正无鼠标的工作流程。

  3. 尝试每周在Android中至少学习一件新东西
    在广阔的Android世界中,有许多东西需要学习和理解,足以让你在最初进入它时不堪重负。但是,如果你承诺每周在Android上学习一件新东西,事情会变得更容易。
    列出你不知道的所有事情,为他们分配优先级,并每周一个接一个地开始。几个月后,您将发现自己远远领先于您的起点。

  4. 自动化任何吃你时间的东西
    我们的工程师在出生时很懒惰,总是试图找到一个简单的方法来做一个无聊的工作。
    因此,如果您需要每天多次重复和无聊,请考虑自动化它。它会累积每周为您节省大量时间,您可以花费在其他更高效,更有用的事情上。
    提示:看看 Zapier ,这是一款非常棒的工具,可以帮助您连接和自动化几乎每天使用的几种工具。

  5. 考虑运行两个版本的 Android Studio
    始终保持稳定版本的 Android Studio,以完成您每天需要做的所有重要事情。但也要考虑安装最新 Android Studio 的 canary 或 beta 版本。
    有时会有许多新的令人兴奋的功能,这些功能可以帮助您尽早尝试这些早期版本。

  6. 偶尔审核所有第三方库
    我们都喜欢使用库,当我们需要它们时它们就完全没问题了,但是在审核你添加的所有第三方库并删除那些你不再需要的库的过程中养成一种习惯。
    如果您只使用特定库的一小部分,请考虑提取该部分而不是保留整个库。偶尔的审核也可以帮助您更新急需的库。

  7. 了解重构遗留代码库的更好方法
    不要错误地一次重构一个巨大的遗留代码库。这样做会让你陷入无法逃脱的陷阱。
    相反,请考虑重构您需要立即处理的代码库部分,然后在必要时慢慢扩展到其他部分。另外,在触摸您怀疑可能破坏现有功能的任何代码之前,请考虑为要重构的部分编写测试用例。
    《Working Effectively with Legacy Code》

    https://github.com/crafts-dev/software-development-ebooks-1

  8. 始终在低端设备上开发和测试
    如果你想像专业人士一样开发应用程序,永远不要错误地在高端设备上开发和测试应用程序。通常,我们开发人员拥有高端旗舰并使用它们来开发应用程序。但这是你应该完全避免的事情。
    尝试使用市场上最便宜,最低端的设备,并养成仅在这些设备上开发应用程序的习惯。您将开始在应用程序中看到许多您以前不知道的瑕疵。通过这种方式,您可以为世界上没有最佳Android设备的人群准备应用程序。

  9. 购买你能买得起的最好的工作机器
    不要错误地购买低端工作机器,并且每天都要破坏你的开发过程。
    考虑使用 Mac 进行开发。你会爱上它的简单性和稳定性而不是其他任何东西。
    如果您购买的是 MacBook,请考虑购买具有最佳规格的 MacBook。你将永远感谢自己做出这个决定。