经验总结之framework开发入门

Posted hackerkevin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验总结之framework开发入门相关的知识,希望对你有一定的参考价值。

本人在某做手机ROM的厂商工作近两年,虽然工作年限不长,但是对此类“工种”已有比较初步的认识,写下来供大家参考借鉴。

framework的工作相对于其他比较成熟的软件开发类似,分为维护和需求开发。

需求开发需要注意的是:

1 相关功能的现有模块需要非常熟悉,否则会有非常大的风险

2 所写代码尽量与已有类似的代码保持风格一致

3 必要的注释,写代码的时候认为代码的意图貌似是理所当然,但是当别人看你的代码或者过一段时间你自己查阅代码的时候,很有可能由于代码量过大,在代码的海洋中未必容易理解某一段代码的意图

4 找比自己能力强的,经验较为丰富的同事review代码。系统层毕竟是上层应用的基础,必须保证其极高的稳定性,不像app即使有一些bug可以快速的迭代和发版推送。

维护工作:

维护工作是一个争议较大的工作内容,很多人认为代码长期不敲容易能力降低,但是我并不是这么认为的。

目前大多数的员工都是刚踏入社会不久,虽然对工资待遇方面有所追求,但是我相信大多数人更希望追求的是学到知识技术,我认为维护的工作可以学到的是:

1 优秀的代码设计。android的代码加工的顺序大致是Google源码->芯片厂商的修改->OEM厂商的修改。这些代码里积累了大量世界级优秀的代码设计方式,架构思想,这样咱们对代码的学习和认识的起步就是不低的,所以阅读大量的代码过后,我们再尝试写代码的时候,一般也不会写出低质量的代码

2 分析定位的技巧。一个经验丰富的工程师的价值,主要会体现在遇到问题时,能够分析定位解决问题的能力和效率,而很少会听说我这有个20年经验的工程师,他的价值在于别人一个小时能写成的代码他在一分钟就写出来了

下面谈谈我认为在刚踏入framework层维护开发的时候所需要注意和经历的阶段:

第一阶段:熟悉各种基本工具的使用,比如linux,git,sourceinsight,svn等等,当然基本的编程知识需要有,如果如java之类的使用都还不是很熟,建议先回家读书

第二阶段:对所需要维护模块的代码逐渐熟悉起来,可以通过定位问题来梳理代码流程,当然此时主要是通过log定位

第三阶段:这个阶段往往是一个瓶颈,因为可以直接通过Log定位的问题占大多数,这时候很多人就会自我感觉良好,也逐渐形成了惰性不再追求更多的知识,并且还会认为自己已经熟悉了很多的模块。比如你按照这种方式工作了五年,我保证你再出去也找不到工作,因为你并没有五年的工作经验,只是使用了一个月能达到的经验工作了五年!!!看代码,梳理流程,这是最基本的工作模式,这个时候我们追求更“牛逼”的分析手段,比如使用性能分析工具systrace和traceview,比如Google提供的功耗分析工具buttery historal2.0,比如ddms里的内存分析工具mat和层级观察器工具(能够直接对应到UI上),当这个部分

第四阶段:追求性能稳定性的问题解决

第五阶段:Android整体架构,对方案设计的优劣有自己的认识,并且能提出更好的改进方案

以上是关于经验总结之framework开发入门的主要内容,如果未能解决你的问题,请参考以下文章

大厂7年经验Android开发对Framework的总结,堪称教科书级

rest framework之解析器

ABP Framework 研习社经验总结(6.28-7.2)

vue入门基础教程之经验总结篇(小白入门必备)|建议收藏

摄像头 ISP 调试的入门之谈(经验总结)

iOS 开发经验总结