一、前言

成为一名安卓开发者是容易的,但是成为一名成功和杰出的开发者并不容易。需要大量的努力工作,激情,奉献精神和锲而不舍才能达到。我可以证明给你看成为一名真正卓有成就的开发者没有捷径和容易的方法。但是如果你愿意放在心上并且努力,你一定会取得应有的成就。

在你成为一名优秀的安卓开发者的探索中,这里有一些从个人经验中总结出来的小贴士可以用来帮助你。所以,假如你打算投入到安卓开发中或者已经成为了一名安卓开发者,那你已经找到了绝佳的地方。

所以,不要再浪费更多的时间,我们开始吧。(经验谈,小白学习,大牛参考!)
注意:文章过长,但是都是精髓,希望大家能耐心看完!

1.熟悉 Android 框架的内部构件

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

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

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

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

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

小技巧:像上面我用Xmind写的开源框架的思维导图,是一个很好建立自己思维体系的方法,还能查漏补缺!

3.开始的代码

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

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

4.考虑学习更多的语言

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

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

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

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

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

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

提示:这里有你开始的【绝佳资源】假如书是你的选择,这本请务必一读。
提取码:x89d(如果链接过期了,需要领取文章中所有学习资料,可以在我的【GItHub】里领取!)

6. 开始贡献开源

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

假如你没有什么需要开源的,考虑捡出其他感兴趣的代码工程并修复一些 bug 。完善文档或者写一些单元测试。即使是你一一丝丝的帮助,对项目维护者保证项目的运转都是有帮助的。

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

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

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

提示: 这里有一个视频帮助你像专家一样掌握 Android Studio 。
提取码:7j2k

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

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

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

9. 掌握 Android 简洁编码指南

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

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

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

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

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


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

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

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

12. 不要过度思考,现实点。

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

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

13. 试着了解设计

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

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

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

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

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

15. 毅力是成功的关键

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

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

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

16. 以小目标开始,慢慢拓展

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

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

17. 手边总有一个练手项目

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

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

18. 开始写更多的测试

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

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

19. 考虑采用 TDD

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

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

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

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

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

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


21. 拥抱响应式编程

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

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

提示:【这有一份字节跳动大牛整理的学习笔记】以了解适用于 Android 开发的 RxJava 的基础知识。
提取码:58ce

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

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

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

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

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

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

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

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

24. 熟悉键盘快捷键

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

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

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

25. 每周尝试学习至少一个新的 Android 相关的东西

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PS:文章中出现的学习笔记以及进阶资料都已经放了下载链接,如果不能保存那就是过期了 ,你可以【点击这里】这领取!

鸿洋:帮助程序员提高核心竞争力的30条建议(知乎疯传,阅读破50w+)相关推荐

  1. android开发实战经典!帮助程序员提高核心竞争力的30条建议,灵魂拷问

    现在的IT行业竞争压力越来越大,尤其是Android开发行业.而很多Android程序员却每天都在重复CRUD,原地徘徊! 今年年初,你就想改变现状,于是在网上刷了大量面试题,强行记下之后,开始参加面 ...

  2. android内存优化面试,帮助程序员提高核心竞争力的30条建议

    前言 又到了面试求职高峰期,最近有很多网友都在求大厂面试题.正好我之前电脑里面有这方面的整理,于是就发上来分享给大家. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联 ...

  3. 怎样成为一名更优秀的程序员?我总结出 7 条建议,希望对你们有帮助!

    有几个人在 React 大会上向我请教一个问题--如何成为一名更优秀的程序员.人们将我视为一名非常资深的程序员,因此值得听听我的建议.我觉得可以分享一下,自己多年来在编程方面的"思维模式&q ...

  4. 怎样成为一名更优秀的程序员?我总结出 7 条建议

    有几个人在 React 大会上向我请教一个问题--如何成为一名更优秀的程序员.人们将我视为一名非常资深的程序员,因此值得听听我的建议.我觉得可以分享一下,自己多年来在编程方面的"思维模式&q ...

  5. 程序员提高核心竞争力书籍推荐

    你好,[程序职场]专注于:Spring Boot ,微服务 和 前端APP开发,闲暇之余一起聊聊职场规划,个人成长,还能带你一起探索 副业赚钱渠道,在提升技术的同时我们一起交流 敏捷流程 提高工作效率 ...

  6. 关于程序员如何创造财富的35条建议

    这篇<关于如何挣钱的35条建议>,是波波从<How to Get Rich : Every Episode>[附录1]这篇长文(超过3.6万英文单词)翻译整理而来.波波非常认同 ...

  7. 提高编程能力的7条建议

    编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的.很多人在学习编程之初就被困难击败了. 当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识.只要你通过了这一困难的 ...

  8. 提高软件测试能力的19条建议

    1. 想客户之所想 在测试的过程中时刻想着用户.培养自己对用户需求的共鸣.和用户沟通并且观察他们怎们样使用你的软件. 2. 多读Bug 如果你和一个团队的软件测试工程师一起工作,那么请阅读 他们每天发 ...

  9. 谈谈如何在面试中发掘程序猿的核心竞争力 什么是程序员的核心竞争力?

    谈谈如何在面试中发掘程序猿的核心竞争力 早两天看了知乎日报的这篇文章<什么是程序员的核心竞争力?>,caoz讲的几点是让我感同身受.这让我联想起了给程序猿的面试,其实也就是通过短暂的接触来 ...

最新文章

  1. NeurIPS2019:新人与Bengio等大佬面对面交流,还颁发三项论文奖
  2. 信息科学部鼓励科学家更多瞄准“原创”研究
  3. linux 隧道服务器,两台linux服务器上建立ip隧道 | 菜鸟博客
  4. !!!. 数据库的编程(ADO) --- 三种sql语句执行的不同
  5. excel批量插入 配置yml
  6. nowcoder172C 保护 (倍增lca+dfs序+主席树)
  7. 设置背景色为渐变色 css
  8. 官宣,C罗回归曼联,签约两年,豪华阵容曝光
  9. PSP的Java环境PSPKVM 0.0.7发布
  10. 数据结构—顺序表详解
  11. 中国地图流动图(一)
  12. 如何用c语言读文件,如何用C语言读写文件
  13. 用C/C++写一个简易的钢琴小程序
  14. mysql 交换 表分区_Mysql交换分区
  15. 什么时候使用PHP设计模式和为什么要使用?
  16. python you-get 下载视频
  17. php开发实例大全pdf百度云盘_你们要的PDF免费转换工具,支持在线编辑PDF。
  18. intptr_t详解
  19. HDU - 5976 Detachment(逆元)
  20. Centos 7 安装 OpenResty api 网关 Orange

热门文章

  1. java实现桌面右下角弹窗(模仿,类似于qq消息弹窗)
  2. 嵌入式Linux+Android学习路线图+学习进度
  3. 2022年新版彩虹易支付系统,可开启不显示首页直接跳转登录页 可对接银联接口 小程序公众号(全开源版)
  4. Python学习:matplotlib模块——plt.savefig存储文件
  5. JavaWeb之初学JavaScript
  6. DDNS ez-ipupdate
  7. 解决死锁的4种基本方法
  8. 唱吧新品小巨蛋麦克风正式发售 开创无线双人合唱功能
  9. java中访问限定符6_Java中访问限定符有、protected、private和default等。
  10. 上周版面人气及综合利用率排名 2011-11-13