作者:Aritra Roy,Google认证Android开发者。
原文链接:https://blog.aritraroy.in/30-bite-sized-pro-tips-to-become-a-better-android-developer-b311fd641089
成为一名Android工程师很容易,但要成为卓越的Android开发者却并不简单。要做到这一点,需要付出很多努力、激情,还有毅力。毕竟,没有捷径可以让我们速成。
在想要成为卓越Android开发者的前提下,兴许我过往经验中的一些开发小技巧,对你的开发有所裨益。接下来,我们就不费口舌,直接分享吧。
1.更加熟悉Android框架内部构件
这里讨论的熟悉不是指文档,而是使用实际的Android框架代码。我看到很多开发人员害怕深入了解Android框架内部的内容,害怕探究其实际如何工作,以及不同的部件如何恰如其分的组合在一起。
如果你真的希望在这场Android开发游戏中获得更高的段位,请尝试接触Android SDK的内部工作,并开始关注它吧。
2.尽量避免错失恐惧症(FoMo)
Android涉及的面很大,非常大。通常情况下,我们无法在一两个月的时间完全吃透这个系统。学到的越多,我们就越发认为自己无知。作为一个初学者,有不知道的东西以及对不知道这件事感到恐惧是非常正常的。
然而,我们还是需要尽可能避免这种情绪。事实上,我们需要做的是学以致用,先要了解我们开发App真正需要学习的东西,然后再缓慢扩展视野。
3.习惯阅读更多的代码
大多数开发人员没有时间阅读其他开发人员正在撰写的内容,他们大部分时间都在写他们已经知道的内容。
但这不会增加你的知识,也不会帮助你的成长。我们应该多去查看其他开源应用程序和库,多去学习。每天30分钟的代码阅读是一个很好的开始,长此以往,你会惊奇地发现已经掌握了很多不了解的新事物。
4.考虑学习更多的语言
学习西班牙语或中文或许对开发作用并不明显,但新的编程语言可能就不一样了。作为开发者,我们需要随时随地了解行业变迁,而不是仅将自己仅限于Android。
而了解外部环境的变化,不仅能拓展我们的视野,还将帮助我们显著提高Android开发技能。我们需要下决心每年至少学习一种新的编程语言,而且不要蜻蜓点水一般,要尝试进入语言的深度以及它在内部的工作。
5.是时候学习Java设计模式了
从长远来看,我无法判断这对于你的Android开发职业而言重要性如何。然而,遇到关键编程问题的时候,设计模式总能帮你构建一套优雅的解决方案。
我们还需要与其他开发人员在同一频道上,以便他们在讨论使用Factory Pattern、Decorator Pattern、和Façade Pattern的时候,我们知道他们在说什么。
让自己给自己一个承诺吧,每周学习一种新设计模式。
6.给开源贡献代码
如果您开发了一些有用的东西,并在自己的应用程序中使用了它,那么请考虑开源,因为你将会在这个过程中学到很多东西。
如果你没有可以开源的项目,那么也可以考虑查看其他有趣的开源项目,尝试做一些修复错误、改进文档或者测试的工作。即使是一些看上去微不足道的贡献也将有助于项目的发展,保持项目的稳定运行。
7.让你的IDE更加得心应手
接下来,我们还需要开始花更多的时间了解正在使用的IDE——Android Studio。实际上,它的潜力比你想象的要大得多。IDE中隐藏了许多酷炫的功能和快捷方式,而大多数开发者并不知道甚至从未尝试去探索过这些功能。
慢慢的,我们可以养成一个挖掘工具亮点的习惯,进而改善工作流程、提高生产力。
8.是时候正确构建你的应用程序了
大多数时候,我们的代码都集中在Activities或Fragments中,这让它们变成了几乎不可能维护和测试的怪兽。
构建App时采用一个诸如MVP、MVVM、Redux这样的良好的架构,是非常重要的。开发时,我们需要注意将应用程序的业务逻辑、视图交互和数据交互分为不同的层次,使其易于管理和测试。
9.学习如何写出干净的代码
这一点不容忽视。在我们身边,有大量连代码最基本的整洁度都无法保证的开发人员。
对大部分开发者来说,学习的Java和Android编码准则并不难,也花费了不了太多时间。学习写出干净的代码并非一次性任务,而应当是开发者的程序生涯的质量改变。
10.花点时间了解Android最佳实践
为了让自己比其他开发人员更有优势,并开发出看起来很棒的应用程序,我们需要开始学习一些Android开发的最佳实践。而往往这些实践能帮助我们成为更好的开发人员,让我们开发的App脱颖而出。
11.通过听播客来有效利用你的空闲时间
尝试正确、有效地利用你的时间。当你上下班的时候,在健身房锻炼,开车,烹饪的时候,你天才般的大脑并没有做太多的事情。你可以通过利用这样的时间来聆听一些资源丰富的Android相关的频道,并尽可能地使你的大脑占有有用和翔实的东西。
12.不要老是用程序化的思路做事
这种情况不仅发生在我身上,而且也发生在我开发同事的身上。在开始工作之前思考一下是非常棒的做法,但过度的思考和分析也会导致不必要的混乱,拖延和焦虑。
所以我们最好的选择是选择并做好现在看上去很正确的选择,并保持自己随时适应不断变化的情况的能力。
13.尝试了解设计
在大众的认知当中,开发者的工作重心应当是学习如何更好的书写代码,而我也非常理解这种认知。但是,如果想成为一名全能的开发人员,我们还应该每天花时间学习和了解UI和UX设计。
相信我,这将完全改变我们过去的编程方式。与团队中的UI和UX设计人员进行充分交流,将非常有助于我们更好地了解应用程序设计。
14.追求完美
完美是一个主观的词汇,更多时候这个词应当针对自己而非他人。而作为最好的开发者,我们当然应该尽可能开发出最棒的产品,并且总是如此。
别将就,不要为了工作而工作。要热爱你正在做的工作,要做得比别人更好。坚持下去,我们就能在这场长跑中取得胜利。
15.坚持是成功的最大补给
如果您想成为Android开发大牛,你需要坚持。
虎头蛇尾从来都不会带来什么实质性的改变,我们需要的是坚持。坚持朝着你梦想中的方向前进,并矢志不渝。
从0到1总归是简单的,但是否能够长时间保持激情和奉献精神,才是我们努力不白费的关键。
16.从小切入,缓慢扩张
作为开发者,把复杂的问题分解为小而简单且独立的问题之后,我们才能轻松、快速地理解和解决问题。
不要因为项目太大或者过于复杂而变得不知所措。相信自己,一旦你在正确的轨道上,一切都可以解决。小口插入,然后才能庖丁解牛。
17.保证总有一个练手项目
有一个练手项目能够极大的改变你此前的认知。因为你一旦有了一些新的思路和解决方案,就可以在这个项目中去尝试和实践。
试想,你发现一个有趣的Android库,你不用在文档和API琢磨时间,直接杀去实践是一种何等美妙的体验。我相信,这也将使你对这个库的了解更加深刻。
18.更多测试
对于测试的重要性,强调无意义。我们需知道的是,在进行详尽测试之前,我们都不能确定功能是否开发完毕,而测试将帮助你重塑对代码的自信。
不要误以为测试是一个可选项,而就此忽略了测试,你以后的日子会很痛苦的。记住,没有测试编写的代码很快就会成为你的坑。
19.考虑采用TDD
当您开发应用程序时,请考虑以强大而有效的方式选择构建应用程序,以便能够经受住时间的考验。
开始遵循TDD的“红-绿重构”周期。首先将失败的测试用例(红色)写出,然后写入实际代码,使测试通过(绿色),然后进一步清理和优化代码。(重构)。
测试驱动的开发是在编程过程中管理恐惧的一种方式。恐惧让你犹豫,恐惧让你沉默,恐惧让你逃避反馈,恐惧使你脾气暴躁。
20.设置正确的自动释放机制
作为开发人员,应该让自己尽可能少地参与那些可以自动化的事,比如应用程序质量检查和发布。
你应该使用CheckStyle、PMD、Lint、FindBugs等工具自动完成质量检查机制。在合并这样的重大调整之前,所有单元和仪器测试都必须跑一遍。
当所有这些检查通过时,你就可以将APK发布到Play Store,或以任何其他方式分发(如Crashlytics Beta)。
21.拥抱反应式编程方法
如果你想提高你的Android开发技能,你一定要考虑采用反应式的方法,这将迫使您以完全不同的方式思考您构建的应用程序。
反应灵敏的方式肯定会帮助你更快地编写交互式应用程序,并使你的开发生活更轻松又有趣。
22.学习使用Kotlin进行Android开发
Kotlin目前是Android开发中最受人关注的语言之一,也是开发Android应用程式的正式支持语言,这种易于使用的语言为Android的世界带来了新鲜空气。
对那些厌倦了老套、冗长且容易出错的Java的开发者来说,Kotlin是Android开发行业的新曙光。尝试一下,你一定会在你的发展生活中找到失去的幸福。
23.参与更多的社交活动
我们的开发人员往往很内向,喜欢和我们的电脑坐在一个角落。
但是请尝试走出舒适区,并与其他开发人员进行更多的互动。当你参加开发者聚会、社交聚会和与具有类似兴趣的其他开发人员交谈时,会学到很多要学习的东西。
24.熟悉键盘快捷键
尽可能使用键盘快捷键而不是鼠标,几乎每个要在Android Studio中执行的操作都有键盘快捷键。
快捷键将大大减少我们的开发时间并改善工作流程。记住键盘快捷键最初可能需要一些时间,但从长远来看,它将帮助您实现真正无鼠标的工作流程。
25.每周至少了解一个新Android产品
在Android的巨大世界中,有很多东西要学习和理解。当你进入这个世界时,最初可能会压倒你。但是,如果我们让自己每个星期学习一件新产品,事情将变得容易很多。
列出你不知道的所有事情,为他们分配先后顺序,每周解决一个陌生面孔。几个月后,你会发现已经走得很远了。
26.用自动化节约时间
我们的工程师,因为出生而懒惰,总是试图找到一个简单的方法来做一个无聊的工作。
所以,如果你需要每天做一些重复和无聊的事情,那么请考虑自动化。累积下来,它节省你相当多的时间。而你,则可以把这些时间放在其他生产和有用的事情上,减少你的焦虑。
27.考虑运行两个版本的AndroidStudio
我们需要确保所有重要的事情,都有一个稳定的Android Studio版本来执行。同时,我们还要考虑保持安装最新Android Studio的金丝雀或测试版本。
有时候,相比前代,新版本往往有许多新的和令人兴奋的功能,你也应该对此很有兴奋感。
28.经常审核您所有的第三方库
大多时候,我们都喜欢使用库,这也是非常好的。但是同时,我们还要养成检查三方库的习惯,需要定期检查并删除不再需要的第三方库。
如果您仅使用特定库的一小部分,那么请考虑提取该部分,而不是使用整个库。偶尔的检查也将帮助您更新更快的更新库。
29.学习重构代码
重构代码,不要试图一次完成。这样做会让你陷入陷阱,而且无法逃脱。
我们应该考虑重构现在工作需要的代码库的部分,然后在需要时慢慢地扩展到其他部分。另外,要先编写测试用例,然后再处理你怀疑的可能会影响现有功能的任何代码。
30.始终在低端设备上开发和测试
如果你想开发一个专业的应用程序,别在高端设备上测试。一般来说,我们开发人员拥有高端的旗舰产品,并用于开发和测试应用程序,但这是你应该避免的东西。
尝试在市场上找到最便宜的和最低端的设备,并使之成为专门的开发测试机。在这些设备上,你会发现此前并不了解的App缺陷。
31.购买你能买得起的最好的工作机器
千万不要购买低端工作机器,这会让你的开发变得很蛋疼。
请考虑使用Mac进行开发,你会爱上它的简单性和稳定性。
现在,如果您正在购买一台MacBook,请选择最高配。几百加元不会伤害你,你会永远感谢你做出这个决定。