查看原文
其他

给 Android 开发者的 31 个 Pro 版进阶小贴士

2017-09-15 OSC-协作翻译 开源中国


成为一名安卓开发者是容易的,但是成为一名成功和杰出的开发者并不容易。需要大量的努力工作,激情,奉献精神和锲而不舍才能达到。 

我可以证明给你看成为一名真正卓有成就的开发者没有捷径和容易的方法。但是如果你愿意放在心上并且努力,你一定会取得应有的成就。 

在你成为一名优秀的安卓开发者的探索中,这里有一些从个人经验中总结出来的小贴士可以用来帮助你。 

所以,假如你打算投入到安卓开发中或者已经成为了一名安卓开发者,那你已经找到了绝佳的地方。 

所以,不要再浪费更多的时间,我们开始吧。


1

熟悉 Android 框架的内部构件


我不是让你去熟悉文档,而是要去实际使用 Android 框架代码。我看到许多开发人员害怕深入去了解 Android 框架内部的内容、其如何运作,以及不同的部分应如何正确配合。 

如果你需要升级你的 Android “游戏”,请不要再害怕去接触 Android SDK 的内部运作,尽快开始关注它吧。 


2

尽量克服遗漏恐惧症(FoMo)


Android 体系很大,非常大。在一两个月左右的时间里,根本不能完全掌握它。你学的越多,你会发现有更多的新事物来到你的面前。作为一个初学者,害怕遗漏一些东西是很正常的。 

但是请试着克服它。了解你真正需要学习的内容,以便开始在正在构建的应用程序中使用,然后再慢慢地扩展自己的视野。 


3

开始阅读更多的代码


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

但这对提高你的开发技能并没有帮助,不会增长你的知识。你应该开始接触其他开源的应用和库,并开始学习。每天30分钟的代码阅读是一个很好的开始。你会惊奇地发现你不知道的许多新事物。 

提示:这里有一些很好的开源应用可以帮助你上手。


4

考虑学习更多的语言


我并不是叫你去学习西班牙语或者汉语,而是去学习一门新的程序语言。你需要时时跟上行业的变革而不是只局限在安卓里面。 

这将开拓你的视野也将极大的提高你的安卓开发技能。下定决心每年至少学习一门新的程序语言。但不要只是在一周内浏览它然后丢在一边。尽量理解语言的深层次内涵和它内部如何实现。 

提示:看看这篇精彩的文章能帮助你做很好的决定。(SPOILER — Javascript is the answer)



5

是时候学习 java 设计模式了


我不再强调它在你漫长的安卓开发职业生涯中的重要性了。当你在解决极重要的程序问题时,设计模式能够真正极大地帮助你实现优雅的解决。 

你也需要跟上其他开发者的步伐,这样当他们讨论工程模式或者装饰者模式或者门面模式时,你能马上知晓他们的意思。 

给自己许下诺言,每周学习一个新的设计模式。 

提示:这里有你开始的绝佳资源。假如书是你的选择,这本请务必一读。 


6

开始贡献开源


假如你已经开发了一些有用的代码并用在自己的应用中,那么考虑开源它。在这个过程中会有很多需要学习,这会帮助你成为一名开发者。 

假如你没有什么需要开源的,考虑捡出其他感兴趣的代码工程并修复一些 bug 。完善文档或者写一些单元测试。 

即使是你一一丝丝的帮助,对项目维护者保证项目的运转都是有帮助的。 

提示: 这里有一份你开始为开源贡献的绝佳指南。 


7

花一些时间使你的 IDE 为你工作


开始花一些时间理解你正在使用的 IDE — Android Studio 。它比你想象的能干得多。有很多炫酷的特性和快捷方式隐藏在里面。但大多数开发者不知道或永远不会去尝试发现。 

形成一种习惯,探索新的和更好的方法使你的工具为你工作,从而提高你的工作流和生产力。 

提示: 这里有一篇绝妙文章帮助你像专家一样掌握 Android Studio 。


8

是时候正确架构你的应用了


大多数时间,我们最终把我们所有的代码任意堆砌在 Activities 和 Fragments 中,使它们变成巨大的神一般的对象,几乎不可维护和测试。 

你的应用采用好的架构是非常重要的, 像 MVPMVVMRedux, 等。考虑分离你的应用业务逻辑,视图交互和数据交互传输到不同的层,使它们易于管理和测试。 

提示: 这些从谷歌检索出的实用蓝皮书能使你架构 Android 应用更轻松。

 

9

掌握 Android 简洁编码指南


千万不要忽视简洁性。和那些将代码写的很凌乱的开发者共事会非常痛苦。 

学习基础的 Java 和 Android 编码指南没有什么快捷方式,也不用花费你几个小时的时间。因为这不是一次性能实现的,而是在开发过程中潜移默化的。 

提示:这有开始学习标准编码指南的极好资源。 


10

花点时间了解 Android 最佳实践


为让自己比其他开发人员更有优势,并构建出卖相和功能都很牛的应用程序,你需要开始学习一些 Android 开发的最佳实践。 

这些做法和经验积累,可以帮助你成为更优秀的开发者,并让你的应用程序脱颖而出。 

提示:这有构建应用程式的一些最佳做法的汇总。 


11

通过听播客来有效利用空闲时间


尝试正确并有效地利用你的时间。当你上下班、在健身房锻炼、开车、做饭时,你天才一般的大脑并没有做太多的事情。 

所以,可以通过聆听一些具有价值的 Android 播客来利用这些空闲时间。总是尽可能地让一些有用的东西充斥着你的大脑,始终尽量充分利用你的时间。 

提示:Fragmented Podcasts 和 Android Developers Backstage 是两个不错的播客音频来源。


12

不要过度思考,现实点


我不止在自己的身上看到这种情况,还发现其他和我一起工作的同事身上也存在相同的问题。在开始工作之前,思考一些事情是正确的(非常好),但过度的思考和分析事情,除了带来不必要的混乱、拖延和焦虑之外,没有任何好处。 

做好眼前对项目有好处的事情,根据需要随时适应变化即可。 

延伸阅读:2 年艰难的 Android 开发教会了这些


13

试着了解设计


作为开发者,重心放在学习编写更好的代码上,完全可以理解。但是,如果想成为一名全能的开发者,还是应该每天花时间学习和了解 UI 和 UX 设计。 

这将完全改变你之前编写应用程序的方式。请尝试与团队中的 UI 和 UX 设计人员进行交流和互动,以更好地了解应用设计。 

提示:如果有兴趣了解设计如何工作,可阅读这本令人惊叹的书籍


14

开始成为一位完美主义者 


这是一个主观话题,我眼中的“完美”可能和他人的“完美”并不一样。但是,尽可能将你的产品打磨至最佳,是一个真理。 

永不放弃。不要只因为某个目的而去做某件事。热衷于你正在做的工作,然后做得比别人好。这有助于你一路成长,并最终成为一名成功的开发者。


15

毅力是成功的关键


如果想成为一名成功的 Android 开发者(或生活中的其他角色),你需要有毅力。 

一件事情只做几天或几周,然后就丢在一旁不会带来任何结果。尝试清晰的定位你想在未来几年内成为 Android 开发者,并坚持不懈的进行冲刺和挑战。 

开始做某件事很容易,但是保持长时间的激情需要努力。 


16

以小目标开始,慢慢拓展


作为开发者,应始终尝试将正在开展的复杂问题或功能,分解成可以快速理解和解决的简单、独立的组件。 

不要因项目的初始大小或复杂程度而不知所措。只要你走上了正确的轨道,一切都可以解决。一步一步,慢慢扩张。 


17

手边总有一个练手项目


练手项目可以完全改变学习的方式。如果你在 Android 中遇到了一些新的东西,那就养成一个习惯,立马到练手项目上试试手。 

如果你发现一个有意思的 Android 库,不应该只是去了解它的文档和 API ,而是应立即在练手项目中尝试。这会让你对这个库了解更深。


18

开始写更多的测试


我无法强调这有多重要。你无法确定功能是否真正完成,直到为此进行详尽的测试。测试将帮助你对自己的代码建立自信。 

请不要忽视测试,或者把它视为“可选”项,这样只会让你在后续的开发上更痛苦。记住,没有测试的代码将很快成为遗留代码。 

延伸阅读 

50+ 个极限资源来掌握 Android 开发


19

考虑采用 TDD 


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

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


20

设置一个适当的自动发行机制 


作为一名开发者,应尽量让一些东西自动化,如应用质量检查和发布。 

可以使用 CheckStylePMDLintFindBugs 等工具自动完成质量检查机制。在合并任何重大变更之前,运行所有单元测试是必须的。 

当所有的检查都通过时,你就可以获得绿色信号,将 APK 发布到 Play Store ,或以其他方式分发(如Crashlytics Beta)。 

提示:考虑使用此类工具自动执行 Play Store 发布流程。


21

拥抱响应式编程 


如果想提高你的 Android 开发技巧,请务必要考虑采用响应式编程方法。这将迫使你以完全不同的思考方式构建应用程序。 

响应式编程方法能帮你更快地编写交互式应用,并让开发生活更轻松更有趣。 

提示:这有一个系列以了解适用于 Android 开发的 RxJava 的基础知识。 

22

学习使用 Kotlin 进行 Android 开发 


Kotlin 是目前 Android 开发中最受欢迎的语言之一,也是官方正式支持的 Android 应用开发语言。这款易于使用的语言为 Android 世界带来了新鲜空气。 

对于那些已经对冗长且容易出错的 Java 感到厌倦的开发者来说,这是一件非常好的事情。尝试一下,你或许或重新找回最初开发的激情。 

提示:进一步了解为什么你应该开始学习 Kotlin 以更好的进行 Android 开发。


23

参与开发者聚会和社交活动


开发者往往偏内向,喜欢坐在电脑前守着自己的角落,活在自己的世界里。 

但是请尝试走出你的舒适区域并与其他开发人员进行更多的互动。当参加这些社交聚会,和具有类似兴趣的其他开发人员交谈时,你会发现能学到很多东西。 

提示:这里是找到你最感兴趣的聚会的好地方。 


24

熟悉键盘快捷键


尽量养成不使用鼠标的习惯。几乎所有要在 Android Studio 中执行的动作都有对应的键盘快捷键。 

这将大大减少你的开发时间并改善你的工作流程。牢记键盘快捷键最初可能需要一些时间,但从长远来看,将帮助你实现真正无鼠标的工作流程。 

提示:如果你不想以原始的方式来记键盘快捷键,这里有一个很好的 AS 插件可以帮到你。 


25

每周至少学习一个Android相关的东西


在 Android 的庞大世界中,有很多东西需要学习和理解。当你刚踏入这个世界时,可能会被会压倒。但是,如果你制定计划每个星期学习一件新的事物,你会发现事情变得简单了。 

列出你不知道的所有事情,为它们分配优先级,并每周一个接一个地开始调整。几个月后,你会发现自己比最初要进步很多。


26

自动化任何占用你时间的工作 

 

我们的工程师,因为天生懒惰,总是试图找到一个简单的方法来完成无聊的工作。 

所以,如果你需要每天做一些重复和无聊的事情,那么请考虑自动化。它可以每周累加地节省你很多时间,这些时间你可以花费在其他高效和有用的事情上,从而减少你的焦虑感。 

提示: 看看这个极好的工具 ,它可以帮助你连接和自动化在一天中使用的几种工具之间的通信。 


27

考虑运行两个版本的 Android Studio 


始终保留一个稳定版本的 Android Studio ,以便执行你需要做的所有重要事情。但也要考虑保证安装最新 Android Studio 的 canary 版或 beta 版本。  

有时候有很多新的和令人兴奋的功能,让路给这些早期构建的版本,这些功能你可能会非常喜欢,并希望尽快上手。 

推荐阅读:

像专业人士一样开发 Android 应用程序的 30+ Kickass 工具


28

时不时审核下所有你依赖的第三方库 


不管我们是否需要该库,我们总是喜欢使用库,这也是非常好的策略。但请养成这样的习惯:时不时地审核你添加的所有第三方库,并删除不再需要的第三方库。 

如果你仅使用特定库的一小部分,那么请考虑提取该部分,而不是使用整个库。偶尔的审核也将帮助你更新那些迫切需要更新的库。


29

学习更好的重构旧代码的方法 


不要犯下面这种错误:一次性完全重新构建一个庞大的遗留代码库。这样做会让你陷入无所逃避的陷阱中。
应考虑重构你现在需要处理的代码库的一部分,然后在需要时慢慢扩展到其他部分。另外,考虑编写要重构代码的直观测试用例,这需要在你修改你所怀疑可能会破坏现有功能的任何代码之前完成。 

提示: 此书完全改变了我使用遗留代码的方式。你一定要阅读它。


30

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

 

如果你希望像专业人员一样开发一个应用程序,不要犯这种错误:在高端设备上开发和测试应用程序。一般来说,我们开发人员拥有高端旗舰产品,并用于开发和测试应用程序。但这是你应该绝对克制的观念。 

尝试让你拿到手的是在市场上可以找到的最便宜的和最低端的设备,并使你习惯于使用这些设备做应用开发。你将开始看到你以前不了解的应用程序中的许多缺陷。

 

31

购买你可以承受的最好的工作机


不要犯下面这种错误:购买低端工作机,每天都会被其破坏你的开发体验。 

考虑使用Mac(胜过Windows)进行开发。你会爱上它的简单性和稳定性。 

现在,如果你正在购买一台MacBook,请考虑购买最佳规格的机器。几百加元不会有多大负担,你会永远感谢你所做出的这个决定。

希望这些小技巧可以帮助你成为更好的 Android 开发人员。你已阅读并理解这些技巧,现在是时候将这些技巧转换为实践技能,只有这样才能体会到它真正的魅力。

如果你发现这篇文章有用,请斟酌下通过社交媒体向你的朋友、同事、敌人或任何人推荐它。

本文最初发表在 TechBeacon 上。




推荐阅读

CSDN CODE 项目整体迁移到码云平台的公告

使用移动 App 开发框架 Ionic 构建应用的 5 个实用技巧

可能是国内最火的开源项目 —— PHP 篇

TIOBE 9 月排行榜:Java,C,C ++ 三分天下何时休

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存