成为更好的Android开发者的30多个技巧

作者:Aritra Roy,Google认证Android开发者。原文链接

成为一名Android开发人员很容易,但成为一名成功的Android开发人员并从中脱颖而出并非如此。到达那里需要付出很多努力,热情,奉献精神和坚持不懈的努力。

我没有捷径或简单的方法可以让您成为真正成功的开发者。但是,如果你愿意投入所需的努力和心灵,你一定会获得你应得的所有成功。

在您成为更好的Android开发人员的过程中,根据我的经验,这里有一些小小的专业提示,可以帮助您完成旅程。所以,如果您已经决定进入Android开发阶段或者已经作为Android开发人员工作了一段时间,那么您已经达到了理想的位置。

所以,不要再浪费时间了,让我们开始吧。

1.更熟悉Android框架内部

我不是在谈论熟悉文档,而是使用实际的Android框架代码。我见过许多开发人员害怕深入研究Android框架内部,并发现事物的实际工作方式以及不同部分如何恰当地融合在一起。

如果您需要升级您的Android游戏,请不要回避Android SDK的内部工作,并开始与之建立友好关系。

2.试着克服对失踪的恐惧(FoMo)

Android很大,很大。你不能在一两个月内完全端到端地学习它。你学的越多,你就会发现更多的新东西。作为一个初学者,害怕错过是完全正常的。

但试着克服它。了解您真正需要学习的内容,以便开始使用您当前正在构建的应用程序,然后慢慢拓展视野。

3.开始阅读更多代码

大多数开发人员都没有花时间阅读其他开发人员正在编写的内容。他们只花了大部分时间写下他们已经知道的东西。

但这不会帮助您成长为开发人员。这不会增加你的知识。您应该开始查看其他开源应用程序和库并开始学习。每天30分钟的代码阅读是一个良好的开端。您会惊讶地发现许多您不知道的新事物。

提示以下是一些可帮助您入门的最佳开源应用程序。

20多个令人敬畏的开源Android应用程序,以提高您的开发技巧
最好的学习方法是阅读,这对开发人员来说也是如此。如果你想成为一个更好的开发者,你...blog.aritraroy.in

4.考虑学习更多语言

我不是告诉你学习西班牙语或中文,而是学习新的编程语言。您需要随时了解行业内的最新动态,而不是仅限于使用Android。

这将打开您的视角,并将帮助您显着提高您的Android开发技能。决定每年至少学习一种新的编程语言。但是,不要只是浏览一下这个语言并离开它。尝试深入了解语言及其内部工作原理。

提示查看这篇惊人的文章,可以帮助您做出更好的决策。(SPOILER - Javascript就是答案)

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

从长远来看,我不能强调这对你的Android开发职业生涯有多重要。无论何时您遇到解决关键编程问题的困难,设计模式都可以帮助您构建优雅的解决方案。

您还需要与其他开发人员在同一页面上,这样当他们谈论使用FactoryDecoratorFacade模式时,您会立即知道它们的含义。

让自己成为每周学习一种新设计模式的承诺。

提示这是您开始使用的绝佳资源。如果你的书是你的东西,那么你必须确保本书的读物

6.开始为开源做贡献

如果您已经开发了一些有用的东西并在自己的应用程序中使用它,那么请考虑开源。您将在此过程中学到很多东西,这将有助于您成长为开发人员。

如果您没有任何开源软件,请考虑查看其他有趣的开源项目并修复一些错误,改进文档或在那里编写一些测试。

即使是最小的贡献也将有助于项目维护者保持项目的运行。

提示是一本很棒的指南,供您开始使用开源贡献。

7.让IDE为您服务

开始花更多时间了解您正在使用的IDE - Android Studio。它可以做的比你想象的要多得多。IDE中隐藏了许多很酷的功能和快捷方式,大多数开发人员都不知道甚至从未尝试过发现这些功能和快捷方式。

养成习惯,找到让您的工具更有效的新方法,从而改善您的工作流程和工作效率。

提示是一篇很棒的文章,可以帮助您像专业人士一样掌握Android Studio。

8.是时候正确构建您的应用程序了

大多数时候,我们最终将所有代码都倾倒在“活动”或“片段”中(你们也可以因为这个罪而责怪我)将它们变成巨大的上帝对象,几乎无法维持和测试。

为您的应用程序采用良好的架构非常重要,如MVPMVVMRedux等。考虑将应用程序的业务逻辑,视图交互和数据交互分成不同的层,使其易于管理和测试。

提示查看Google提供的这些有用蓝图,以便在构建Android应用时让您的生活更轻松。

9.了解Android的清晰编码指南

你不能忽视这一点。与不编写干净代码的开发人员合作变得非常困难,至少维护Android开发的基本编码指南。

它根本不是火箭科学,不应该花费你几个小时来学习大多数基本的Java和Android编码指南。它不应该是一次性的事情,而是开发人员的生活方式改变。

提示是您开始学习标准编码指南的绝佳资源。

10.花些时间了解Android最佳做法

为了让自己比其他开发人员更具优势,并构建看起来很好且运行良好的应用程序,您需要开始学习Android开发的一些最佳实践。

这些是可以帮助您成为更好的开发人员并使您的应用程序脱颖而出的一些做法和注意事项。

提示以下是一些有关制作更好应用的最佳实践的汇编。

11.通过收听播客有效利用您的空闲时间

尽量有效地利用你的时间。有时候你去往/来自办公室,在健身房锻炼,开车,做饭等等,而你的天才大脑并没有做太多。

您可以通过收听一些足智多谋的Android播客来利用这些时间。总是喜欢尽可能地让你的大脑充满有用和信息丰富的东西,并且总是尽量利用你的时间。

提示碎片播客Android开发者Backstage是两个令人惊叹的播客来源。

12.不要过度设计事物,现实点。

我已经看到这种情况不仅发生在我身上,还发生在我与之合作的其他几位开发人员身上。在开始研究它之前考虑一些事情是好的(相当非常好),但是过度思考和无法分析的事情只会带来不必要的混乱,延迟和焦虑。

做一下现在对项目有用的东西,你可以随时根据需要适应不断变化的情况。

推荐阅读

2年的Android开发曾经给我带来了困难的方式
我还记得2014年的那一天,当时我决定开始进行Android开发,那是最好的...blog.aritraroy.in

13.尝试学习设计

我可以理解,作为一名开发人员,您主要关注的是学习编写更好的代码,这也是非常明显的。但是如果你想成为一名完整的开发人员,你应该每天花一些时间学习和理解UI和UX设计。

这将彻底改变您查看一直编码的应用程序的方式。尝试与团队中的UI和UX设计人员进行更多交流和互动,以更好地了解应用程序设计。

提示这个惊人本书读,如果你有兴趣了解设计实际上是如何工作的。

14.开始成为一个完美主义者

这是一个主观话题,因为对我来说“完美”对他人来说可能不是“完美”。但作为一个拇指规则,尝试始终实现您需要提供的最佳产品版本。

永远不要满足于此。不要为了它而做某事。对你正在做的工作充满热情,并且比其他人做得更好。从长远来看,这将帮助您不断成长并成为成功的开发人员。

提示谈论完美,这个工具Instabug通过其超级简单但有效的应用程序内反馈系统和强大的错误报告工具帮助我完成了我的应用程序接近完美的工作。它使我很容易从用户那里获得直接反馈,并根据其详细而富有洞察力的错误报告改进我的应用程序。绝对值得一试。

15.一致性是成功的关键

如果您想成为Android开发人员(或生活中的任何其他人),您需要保持一致。

做几天或几周然后戒烟不会带你到任何地方。尝试在未来几年内可视化您希望成为Android开发人员的位置,并坚持您的目标,无论您采取何种挑战。

很容易开始做某事,但很难继续以(非常)长时间的同样的热情和奉献精神去做。

16.从小处开始。慢慢扩张。

作为开发人员,您应该始终尝试将您正在处理的任何复杂问题或功能分解为可以轻松快速地理解和解决的小型,简单且独立的组件。

不要对项目的初始大小或复杂性感到不知所措。一旦你走在正确的轨道上,一切都可以解决。从小处开始,采取婴儿步骤并缓慢扩展。

17.总是手头有一个游乐场项目

手头有一个游乐场项目可以完全改变你学习的方式。如果您在某个地方遇到Android新功能,请养成在您的游乐场项目中立即尝试的习惯。

假设您在某处发现了一个有趣的Android库。您应该立即开始在游乐场项目中使用它,而不是仅浏览文档和API。这将使您更好,更深入地了解库。

18.开始编写更多测试

我不能强调这是多么重要。在为其编写详尽的测试之前,您无法确定要完成的功能。测试将帮助您在代码上建立置信岛。

不要忽视测试或将其视为“可选”的错误,并使以后的回归错误让您的生活更加痛苦。请记住,未经测试编写的代码会立即成为遗留代码。

推荐阅读

掌握Android开发的50多种终极资源
我还记得几年前我开始Android开发并进入广阔的未知世界时的那一天...blog.aritraroy.in

19.考虑采用TDD

在开发应用程序时,请考虑选择以强大而有效的方式构建应用程序,以便它能够经受住时间的考验。

开始遵循TDD 的“ 红绿重构 ”循环。首先编写将失败的测试用例(红色),然后编写实际代码以使测试通过(绿色),然后进一步清理和优化代码。(重构)。

测试驱动开发是一种在编程过程中管理恐惧的方法。恐惧让你试探性。恐惧让你想减少沟通。恐惧让你回避反馈。恐惧让你脾气暴躁。 - TDD示例

20.设置适当的自动释放机制

作为开发人员,尽量使用可以并且应该自动化的内容尽可能减少自己的占用,例如应用质量检查和发布。

您应该使用CheckStylePMDLintFindBugs等工具自动化质量检查机制。在合并任何重大更改之前运行所有单元和仪器测试是必须的。

当所有这些检查通过后,您将获得绿色信号,将APK发布到Play商店或以您想要的任何其他方式分发(如Crashlytics Beta)。

提示考虑使用此类工具自动化Play商店发布流程

21.采用反应式编程方法

如果你想提高你作为Android开发人员的技能,你一定要考虑采用被动方法。这将迫使您以完全不同的方式思考构建应用程序。

采用被动方式肯定会帮助您更快地编写交互式应用程序,并使您的开发生活更轻松,更有趣。

提示是一个很好的系列,可以学习RxJava for Android开发的基础知识。

22.学习使用Kotlin进行Android开发

在Android开发方面,Kotlin目前是最受欢迎和最受关注的语言之一。它现在也是开发Android应用程序的官方支持语言。这种随和的语言为Android世界带来了一股清新的空气。

这是Android开发人员遇到的最好的事情之一,他们厌倦了处理相同的旧的,冗长且容易出错的Java。尝试一下,你一定会再次在发展生活中找到失去的快乐。

提示详细了解为什么要开始学习Kotlin以获得更好的Android开发。

为什么你应该开始使用Kotlin来增强2017年
Android开发Android开发中最流行和最广泛使用的语言无疑是Java。但那当然......blog.aritraroy.in

23.参加聚会,与其他开发者进行更多社交活动

我们的开发人员往往非常内向,喜欢和我们的电脑坐在一个角落,并且在我们自己的世界里。

但是试着离开你的舒适区并与其他开发者进行更多互动。当你参加开发者聚会,社交聚会和与你有类似兴趣的其他开发者交谈时,有很多东西需要学习。

提示是一个找到您最感兴趣的聚会的好地方。

24.熟悉键盘快捷键

尽量让它成为不尽可能不使用鼠标的习惯。您可以在Android Studio中执行几乎所有操作的键盘快捷键。

这将显着缩短您的开发时间并改善您的工作流程。记住键盘快捷键最初可能需要一些时间,但从长远来看,它将帮助您实现真正的无鼠标工作流程。

提示如果您不想以老式的方式记住键盘快捷键,这里有一个优秀的AS插件可以帮助您。

25.尝试每周至少学习一个新的Android内容

在广阔的Android世界中,有许多东西需要学习和理解,当你进入它时,最初可能会让你不知所措。但是,如果你让自己承诺每周在Android中学习一件新东西,事情就变得容易了。

列出你不知道的所有事情,为他们分配优先级,并每周一个接一个地赢得他们。几个月后,您将发现自己已经领先于开始的地方了。

26.自动化任何吃你时间的东西

我们的工程师,出生时很懒惰,总是试图找到一个简单的方法来做一个无聊的工作。

所以,如果你需要每天做几次重复和无聊的事情,那么考虑自动化它。它会累积每周节省你很多时间,你可以花在做其他高效和有用的事情上,减少你的焦虑。

提示看看这个很棒的工具,它可以帮助您连接和自动化几乎每天使用的几个工具之间的通信。

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

始终保持稳定版本的Android Studio,以执行您需要执行的所有日常重要操作。但也要考虑安装最新Android Studio的金丝雀或测试版。

有时会有许多新的令人兴奋的功能,这些功能可以让您尽可能早地获得这些早期版本。

推荐阅读

30多个Kickass工具,像Pro一样开发Android应用程序
在本文中,我将分享一些最好的工具来提高您的开发效率并更好地构建...blog.aritraroy.in

28.偶尔审核所有第三方库

我们都喜欢在需要的时候使用库,这也很好。但要养成审核你偶尔添加的所有第三方库并删除不再需要的库的习惯。

如果您只使用特定库的一小部分,则考虑提取该部分而不是使用整个库。偶尔的审计也可以帮助您更新迫切需要更新的库。

29.了解重构遗留代码库的更好方法

不要错误地一次完全重构一个巨大的遗留代码库。这样做会让你陷入无法逃脱的陷阱。

相反,请考虑重构您需要立即处理的代码库部分,然后在需要时慢慢扩展到其他部分。另外,在触摸任何您怀疑可能破坏现有功能的代码之前,请考虑为要重构的屏幕编写测试用例。

提示本书彻底改变了我与遗留代码的工作方式。你也一定要把它读一读。

30.始终在低端设备上开发和测试

如果你想像专业人士一样开发应用程序,永远不要错误地在高端设备上开发和测试应用程序。通常,我们的开发人员拥有高端旗舰,并将其用于开发和测试应用程序。但这是你应该完全避免的事情。

尝试使用市场上最便宜,最低端的设备,并养成仅在这些设备上开发应用程序的习惯。您将开始在应用中看到许多您以前不知道的缺陷。

31.购买你能买得起的最好的工作机器

永远不要错误地购买低端工作机器,并且每天都要破坏你的开发经验。

考虑使用Mac(通过Windows)进行开发。你会爱上它的简单性和稳定性而不是其他任何东西。

现在,如果您购买的是MacBook,请考虑购买具有最佳规格的产品。几百美元不会伤害你,你会永远感谢自己做出这个决定。


希望这些技巧可以 帮助您成为更好的Android开发人员。您已经阅读并理解了这些提示,但现在是时候将它们转换为实际操作,只有这样您才能体验到这些技巧的真正力量。

如果您发现此文章有用,请考虑通过社交媒体向您的朋友,同事,敌人或任何您想要的人推荐它。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,409评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,680评论 2 59
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,590评论 18 139
  • 今天一大早。折腾出了一个吐币机。妈妈比宝宝还兴奋。 所以先搞了 国庆节快乐,后为了配合小吃货,又来了 我爱吃月饼,...
    佳茗妈阅读 224评论 0 0
  • 牙疼的快犯神经病了,连太阳穴都疼,无处安放的疼。疼就算了,还特能吃
    赵妖镜ZQ阅读 239评论 0 0