我又来了 | 2021年度总结

「时光不负,创作不停,本文正在参加2021年终总结征文大赛

前言

本来上一篇文章说今年封笔了,但是当你看到这篇水文的时候我承认我打脸了。毕竟凡事都逃不开真香定律的,也不是因为别的啥,就是馋掘金的礼物了。

此处需要又背景音乐 手里捧着窝窝头,菜里没有一滴油

年终盘点

今年做的东西比较多,所以算是收获颇丰,本来是真不想写什么盘点的,因为光凡尔赛可太累了不是。今天所有的内容应该在以往的文章里面都有资料的,就不提供任何传送门了。

但是做的多,错的肯定也不少啊,今年还是出了几次事故的,说实话是挺搞人心态的,而且问题相对来说定位难度也都比较高。但是整体今年都还是扛下来了,马上又是新的一年了,又要冲冲冲。

今年也给各位大佬输出了很多辣鸡技术,其实我还是很满足很开心的,但是搞的现在大家都叫我虾卷了。其实我只是单纯的喜欢技术而已,我觉得我做的东西很好玩,可能有些人没有用过,我就会考虑把这些分享给大家,这点初衷是不会改变的。

支付和推送

这是年初在搞的一个东西,我本来预计将支付推送分享几个sdk整合到plugin内,之后降低业务方的接入成本。因为在我们的仓库下基于flavor还有包名进行打包集成,从而避免一些无效的代码被引入工程中。这个也算是比较成功了,大部分app都已经切换到这套框架上了。

之后因为东西多了,担心版本号管理混乱,就在plugin的基础上进行了抽象,通过autoservice将他们都整合到一起了,这样每个都可以通过classpath的版本号独立发布了,这样就可以通过简单的排列组合将几个sdk 子插件聚合到一起了。同时固定了大版本,这样就方便和agp可以同步。

好处就是可以降低开发同学对于这些sdk的感知,达到sdk内聚的目的。具体的内容在以前的文章中也有介绍过的。

各种gradle升级

年初的时候在阿逼辅助完成了agp4.1.0版本的升级,我发现工程结构越庞大,这种基础配置升级就越困难。但是也对我是一个挑战了,迎男而上我其实还是蛮喜欢这种感觉的。

当然在androidx和kotlin 升级的工程中也碰到了奇奇怪怪的问题。但是最后也算是磕磕绊绊的完成了。

顺便最后在自己的demo工程内,我实验了下在自己的工程升级到AGP7.0.0版本。

ksp 有点意思

年初的时候在原来的路由的玩具工程中实验了下ksp功能。然后机缘巧合下在年末的时候也写了个新的ksp,用来完成启动任务的分组工作。

这个东西整体来说和apt一样,我觉得大家都可以尝试下,但是高低版本间的差异也比较大,但是也都还在可以接受的范围内吧。

kotlin 真香

年初的时候本来以为自己的kotlin水平已经不错了,然后在年中的时候给业务同学提供viewbinding的代理支持的时候学会了代理,然后应用在了我自己的diffutils上面。

另外就是年终的时候发现用kotlin写dsl很好玩,这比java可香太多了,就开始有意识的将代码往这种方式移动。kotlin是真的香,yyds。

Gradle 知识学习

今年学会了不少gradle相关的东西,然后也将其中一部分进行了落地。实际应用了之后就会发现和一些理论知识差距也还是比较大的。给大家一个小小的建议吧,找一个自己喜欢的方向,持续研究下去,即时不能应用到项目中,如果可以变成一个demo,也比你看完一篇文章会有更大的收获。我有时候写文章的时候也不会把一些特别细节的问题写的很清楚,但是你自己写过踩过什么坑就会有一个认知了。

同时今年也解决了一些奇奇怪怪的gradle编译问题,比如啥java9,lambda等等。还有就是尝试了下kts,发现也蛮好用的。

yaml 格式

发现在工程化过程中,这种数据格式其实还是非常好用的,简单明了,而且非常清晰。虽然也容易出错,但是拿来做对开发同学的来说比xml和json都方便很多。

Lint 新玩法

年中的时候因为工信部加强了对各家app的监管,所以我们需要提供一些长期可持续的治理方案,让开发同学和app持续能感知到这些是有风险的操作,所以在这个基础上开发了偷学了下别人的lint并应用到了项目内。

隐私合规

下半年最重要的任务,也是出问题最多的部分,主要就是隐私合规,对内的lint,对三方sdk的aop hook修改,对于测试的runtime hook。

重拾启动优化

之前在哈啰的时候对于启动优化的姿势停留在理论上,然后主要负责的也是协助排查和观察耗时的操作。对于大概的方法和细节其实是有一些了解的。

这次在阿逼因为隐私治理的那个东西,我被安排了重新梳理整个启动流程相关的工作,之后就通过了dag对这部分进行了修改。另外也自己完成了个demo,并增加了点自己的看法。

老的阿里框架用的代码还是太陈旧了,拥抱变化不是。

hilt 尝试

下半年我们也尝试了下新的技术栈,接入之后发现整体上还是比服务发现机制好用很多的。

一切为了协程

之前有业务同学说想把retrofit版本升上去,但是因为我们魔改过retorfit的源代码,导致了大概有一两年这部分代码都没有升级过,找了个时间把这个源代码进行了升级,之后把自定义的那部分逻辑也补充了回来,让业务同学能香一下下。

源码编译

把我们一部分遗失在大仓之外的代码移动回了大仓,同时通过自己的手段保留了一定的原来的便利性。整体来说还是要让所有的代码块有机会在一起进行一次全量编译,对于大规模工程其实还是有很大的好处的。

plthook

年底的时候把之前说的pthread hook做完了,之前的第二篇文章介绍过了asm替换,但是其实对于native那部分也还是不够强啊,所以年底也算是完成了之前的吹牛逼了,很强很开心。

基架的苦与乐

其实基架部门并没有大家表面想的这么好,有很大一部分时间其实是要提供客服服务的,业务同学可能直面的是线上用户,而鸡架同学则直接面向的是所有开发同学。

很大一部分时间都要帮助业务同学辅助去定位问题,然后提供各种奇奇怪怪的支持。

但是因为鸡架能玩的东西也比较多,所以在这种部门你的技术水平提升速度是会更快,而且能接触到的东西也更多更妖娆。

帮忙招人

年中的时候帮部门招人,同时也辅导了些网友进行安卓面试,也算是对自己有所帮助吧,互相成长了。

毕竟会碰到不少人和事,发现面试其实更考验的是一个面试官的一件事。毕竟他才是要懂你的技术栈的人,否则就会鸡同鸭讲,发掘不了候选人的潜力。

同时也发现了从hr角度出发,其实都挺困难的。合适的人实在是太难招了。

困难和迷茫

代码写的越多,自然问题也会越多,年底我自己也吃了不少事故。我其实有过自己的反思吧,大部分都是因为自己的麻痹大意,但是只要是出问题了还是会让自己自闭的。成年人还是需要有自己的减压手段,比如我爱拼胶,爱打游戏,用空余的时间让自己放空下来蛮好的,起码能拜托下工作中带来的那些负面能量。

不要焦虑,焦虑并不会让你有任何的改变其实,成年人吗就要学会认识自己,我们就是芸芸众生中的一员而已,并不是天才我们其实不能改变世界,还是要甘于平庸。给中年人贩卖焦虑是不合适的,毕竟人都会老去,你到了这个年纪也会面临一样的焦虑贩卖。调整好自己的心态,乐观点,积极点。

展望下明年?

其实我是躺平了,但是我还是蛮喜欢技术能给人带来的快乐的。

装逼如风常伴我身,如果可以的话我还是想做一个能持续输出一点点技术的人的,加油共勉各位大佬。

如果可以,我想写(装)代码(逼)到60岁呢。

猜你喜欢

转载自juejin.im/post/7038934878137614350