如何成为一个更好的Android开发者-30+个专业建议

移动测试:构建您的移动质量保证技能  go to TB learn

####1.熟悉Android 内部框架(Android framework internals)

我不是说文档,而是实际的框架代码。我看到很多开发者害怕深入Android框架内部。不要成为其中之一!当你看到代码如何运作以及不同的部分如何适当地组合在一起时,是件amazing的事情。

如果你打算开始Android旅程,请不要害怕Android SDK的内部工作,并开始关注它。

####2.摆脱你对失踪的恐惧( fear of missing out (FOMO))

Android很大,非常大。你不能在一个月或三个月内完全学习它。而且你学到的越多,你就会越了解你不了解的东西( And the more you learn, the more you will understand how much you don’t know)(非常牛逼的一句话)。作为一个初学者,很正常错过学习重要的信息,在仍然处于无知状态的情况下构建一些东西,试图克服这个问题!

了解你真实关注点,在你当前构建的App,然后缓慢扩展视野。

####3.开始阅读更多的代码

大多数开发者没有时间阅读其他开发者正在撰写的内容。他们大部分时间都在写他们已经知道的内容。

但这不会帮助你成长为一个完善的Android开发者。真正成为更好的开发者的唯一方法是阅读更有经验的开发者的优秀代码。你应该开始考虑其他开源App和库,在那里你将发现许多你以前不了解的编码技术和功能实现。

提示:这里 一些优秀的开源应用程序的资源,可帮助你开始使用。

####4.考虑学习更多的语言

显然,我不是告诉你学西班牙语或中文。我在说你应该学习新的编程语言。你需要自己更新行业中正在发生的情况,而不是将你的想法限制在Android空间中。

这将打开你的观点,激发新的想法,并帮助你显着提高你的Android开发技能。下定一个决心每年学习一种新的编程语言。

如果你不知道JavaScript ,JavaScript是一个很好的开始。

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

我无法强调你在Android开发事业中的重要性。无论何时遇到一个关键的编程问题,设计模式都可以成为救生员。

你还需要与其他开发者在同一页面上,以便在谈论使用工厂模式,装饰者模式或门面模式时,立即知道它们的含义。

向自己承诺,每周学习一种新的设计模式,直到你知道大多数设计模式。
提示:这里 是很好的资源对你开始学习Java设计模式,如果你想了解的更多,读读这本书

####6.开始贡献开源

如果你已经开发了一个库,插件或其他有用的代码,并且你在自己的应用程序中使用它,请考虑开源。在开源项目或维护自己的项目过程中需要学习很多东西。这是开源开发中极好的知识碰撞,大幅提升你作为一个开发者的价值。

如果你没有任何开源资源,请考虑查看感兴趣的其他开源项目,并修复一些错误,改进文档或在其中编写一些测试。

即使是最小的贡献(例如在文档中修复一些语法错误)将有助于项目维护者保持项目的运行。

提示:这是一个令人敬畏的指南 ,让你开始开源开发。

####7.让你的IDE为你工作

开始花更多的时间了解你正在使用的IDE:Android Studio。它可以做得比你想像的还要多。 IDE中隐藏了许多酷炫的功能和快捷方式,大多数开发者甚至没有尝试发现。

养成一个习惯去发现新的更好的方法使你的工具为你工作,从而提高你的工作流程和生产力。

提示:这是 一篇令人惊奇的文章,可帮助你掌握Android Studio。

####8.是时候正确构建你的应用程序

大多数时候,我们把我们的所有代码写在Activitys或Fragments中(我也犯了这个问题),把它们变成了几乎不可能维护和测试的巨大的对象。

为你的应用程序采用一个良好的架构,如MVP或MVVM,这是非常重要的。将应用程序的业务逻辑,View交互和数据交互分为不同的层次,以便易于管理和测试。
提示:查看Google提供的这些 有用的蓝图,让Android应用架构设计更轻松

####9.了解Android简洁代码指南

你也不能忽视这一点,因为与不编写简洁代码的开发者合作时,很难保持Android开发的标准编码指南。

这不是火箭科学,它不应该花你超过几个小时来学习大多数基本的Android编码指南。
提示:这里 是极好的资源来开始你的学习

####10.花点时间了解Android最佳实践

为了让自己比其他开发者更有优势,并构建一个看起来很好并且工作良好的应用程序,你需要开始学习一些Android开发的最佳实践。

了解可以帮助你成为更好的开发者和帮助你的应用程序脱颖而出的其他事项。
提示:这里 汇编一些最佳做法为你创建更好的应用程序

####11.通过播客来有效地利用你的空闲时间

尝试正确有效地使用你的时间。当你上下班,在健身房锻炼,开车或做饭时,你的天才大脑不会做太多。

在这个时候,你可以通过听某些Android博客进行多任务处理

提示:Fragmented博客和Android开发者后台两个优秀的博客

PS: 听博客( listening to podcasts)一开始我还以为翻译错了,点进资源看了还真是可以听的音频,只不过是英文的

####12.不要过度设计,现实点

我发现这不仅发生在我身上,而且也发生在几个同行开发者的身上
在开始工作之前思考一下是好的(实际上是很好),但是过度思考和过度分析会导致不必要的困惑,拖延和焦虑。

首先做好现在似乎对项目有好处的事情,你可以在将来根据需求随时调整适应不断变化的情况。

####13.尝试了解设计(design)

我可以理解,作为开发者,你的主要重点是学习编写更好的代码。但是,如果你想成为一名完整的开发者,你应该开始花时间学习和理解用户界面( user interface(UI))和用户体验设计( user experience (UE/UX))。

这将改变你看待正在编码的App的方式。尝试与团队的UI和(UE/UX)设计者进行交流和交互,以更好的了解应用程序设计。
提示:如果你很有兴趣了解设计如何工作,请读读这本好书

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

“完美”是一个主观术语,但根据经验,尽量实现你需要提供最佳版本的产品。

永不放弃,不要为了这件事而工作。对你正在做的工作充满热情,做的比最好更好。这将长期有助于你持续成长并成为更优秀的开发者。

####15.专注是成功的关键

如果你想成为一位优秀的开发者(或生命中的其他任何事物),你需要保持专注。

做几天或者几个星期然后放弃不会给你带来任何东西。不要浮躁,尝试想象接下来几年你作为一个开发者你想到达什么地步,无论什么挑战来临,坚持你的目标。

开始做某件事非常容易,但很难继续以相同的激情和奉献长久地继续做。

####16.小处着手,慢慢扩展

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

不要因为项目的初始大小或复杂程度而变得不知所措。一旦你在正确的轨道上,一切都可以解决。小处着手,迈着小步,然后慢慢扩张。

####17.总是写一个测试Demo

编写一个测试Demo可以完全改变你的学习方式。如果你在Android碰到一些新的东西,养成立即编写一个测试Demo的习惯。

假如你在某个地方你遇到一个有趣的Android库(library),你不必仅仅浏览文档和APIs,而应该写个demo进行测试。这将会让你对库(library)了解的更加深刻。

####18.开始写更多测试

这是非常重要。在你编写详尽的测试用例之前,你不能将功能视为完整的。测试将帮组你在你代码之间建立信心。

不要犯忽视测试或者认为是可选择的错误,并使您的生活更加痛苦,回归bug将会使你的生活更加痛苦。

####19.考虑采用TDD

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

考虑遵循测试驱动开发(test-driven development(TDD))的“红 - 绿重构”循环。首先写出将失败的测试用例(红色),然后写入实际代码,使测试通过(绿色),最后清理优化(重构)。

“测试驱动的开发是在编程过程中管理恐惧的一种方式。  
恐惧让你暂时的。恐惧让你想减少沟通。恐惧让你避开反馈。恐惧使你脾气暴躁。 “                                            
——?TDD by Example

####20.建立一个适当的自动发布机制

作为开发者,在应该自动化的事情尽量少花点时间,例如应用程序质量检查和发布。

你应该使用CheckStyle , PMD , Lint 和 FindBugs 等工具来自动完成质量检查机制。在合并任何重大变化之前,运行所有 unit and instrumentation tests也是必须的。

当所有这些检查通过时,你将获得绿色信号,将APK发布到Play商店,或以任何其他方式分发。

提示:使用诸如此类的开源工具自动执行Play Store发布过程

####21.拥抱响应式( Reactive Programming )编程方法

如果你想提升你Android开发技巧,你一定要考虑采用响应式方法。这将使你以完全不同的方式构建你的Apps。

以响应式方式一定会帮助你更快的编写交互式Apps,让你的开发生活更有趣又轻松。

提示:这里是一个很好的系列去学习RxJava for Android

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

自从Google在Google I/O 2017宣布Kotlin编程语言一级支持,对语言的兴趣激增。这个随和的语言带给Android开发世界新鲜空气

这是一个很好的消息对于厌倦用老的,冗长的和容易出错的Java Apps开发者。试试看它是否在你身上点燃新的灵感

提示:看看这个让人敬畏的教程开始使用Kotlin。

####23.参加会议,并与其他开发者交流

我们的开发者往往是内向的,喜欢和我们的电脑一起坐在我们自己的世界里。

尝试移出你的舒适区域,并与其他开发者进行更多交互。当你参加开发者会议和社交聚会或者你只是与其他与你的兴趣相似的开发者交谈时,有很多要学习的东西。

提示: Visit meetup.com去发现你感兴趣的聚会

####24.熟悉快捷键

在Android Studio 大多数每个操作都有快捷键。了解那些快捷键将显著的减少你的开发时间以及提升你的工作流程,记住快捷键可能会花点时间,但就长期而言,这将帮助你走向一个完全少用鼠标的工作流。

提示:如果你不想用过时的方法记住快捷键,这里是一个非常好的Android Studio 插件帮助你去处理它。

####25.尝试每周学习至少一件Android的新事物

在Android这个巨大的世界,有许多东西去学习和了解,当你最初踏入它时,足以打到你。事情将变的更容易如你你承诺每周学习一件Android的新事物。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

【Android高级架构视频学习资源】

**Android部分精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值