写在前面的琐碎
写这篇文章的时候,刚好是世界杯决赛,虽然不是足球迷,看个热闹吧。想着要不回顾下过去的这一年做过的一些事,时间比较特别。这是我写的第二篇总结了。今年总结的话,「期待」,每天都有特别的期待。认识了一群有意思的人,看到了期待中的代码,做了一些认可的事,不是屎山的代码是存在的!
停下
卡在了 groovy
去年年中换了份工作,刚来到新公司时,开始有各种水土不服,和我从事新的工作方向有关系,也和公司的做事方式有关。我毕业前两年是做一个安卓业务开发,现在是在做 CI/CD 方向。到今年年初为至,我有多次问过自己当时做的决定还是对的嘛,如果走另一个选项躺平的话,会不会更好呢,实在是不甘心啊,优雅的代码真的不存在嘛,当时的我在接手 gradle 插件时,纠结于其中的一些局部的逻辑,而且当时插件代码是使用 groovy 书写的,那时的我对于 groovy 是敬而远之,后面自己是一点点实践中发现了 groovy 相比 kotlin 的动态化优势,有的代码如果不用 groovy,还真的是不知道怎么能够写出来。自己开始变得包容也开始写起了 Groovy, 后面开始把一些新的插件代码迁移到 Kotlin 上,基于项目内 Groovy, Kotlin 混编需要顺便写了篇 文章。
当看到一个东西不太合理时,自己会开始思考,不合理的东西,为什么能够迭代那么久呢?当时的技术背景下 kts 也并未开始起步,groovy 相比 java 雀食有更多的灵活性,熟悉 groovy 后在插件开发上会更加高效.
大病一场
去年年尾时,身患一场病,这场病穿插了 22 年整年,也是出于这个的原因吧,整个人不太卷。尽管有想看的代码,但身体撑不住时,还是及时的适可而止住,周末也开始做一些事来放松,过去一年过得很松弛,读了不少想看的书。近来读到感知比较深的书是 《精英的傲慢》,读后感触颇深的是人之所以站到对应的高度,更多是偶然的运气,而非刻苦的努力和出人的天分。既然成功出自偶然,那对于失败的大多数而言,也是种宽慰,尽管对于书中的解决办法,我持保留意见。不过如果上位者能够意识到所得之皆是偶然,那么或许他能够体恤失败者的无力和屈辱,同时精英阶层和民粹之间的对立能够得到缓解。成功出自运气,偶然的话,我的“躺平”也就心安理得了,毕竟努力不再拥有更流动的跃迁通道承诺了。
养病一年,周末会时常去家附近的公园散心,停下来才知道周围有那么大的一个公园,不过平时下班后基本就关门了,一直没来看过。在公园散步时,听着身边熙然的人声,内心会愈加平静,就好像做了一次冥想一样,可能是在这个时候我是临在当下闲逛的状态,没有手机,没有耳机,只有自己的脚步声和注视前方的目光。
走起来
Gradle Enterprise 初试
今年比较惊喜的事是接入了 Gradle Enterrprise,在我一次无意使用 build scan 后,填了反馈链接。Gradle 德国总部的人联系到我说可以免费试用,当时尽管是英语沟通还是挺开心能和他们合作的,后面 Gradle 中国区开始组建了团队,开始可以中文沟通了,英语是有点够呛。尽管前期不确定的东西很多,绕了不少弯路才把环境搭建好,接入后还是给我们一些惊喜,定位到了一些感官难以察觉的编译问题,比如增编失效,gradle transfrom 增量失效等等。和 Gradle 中国区合作时,能够感受到他们在运维上的专业,逐步对 Gradle 的熟练理解。最后我觉得 Gradle Enterprise 是一个有效的编译监控平台,合作方也相当敬业,如果是中小公司没有编译储备的话,Gradle Enterprise 对他们来说会是一个不错的选项。
Support 包移除
今年做的比较大的事情之一,是把项目里潜藏的 androidX 依赖给清理掉了,清理的时候以为没有多少,结果扫出来一堆三方库用到了 support 包,在这里面闹了个产物手动上传 maven 丢了 pom 的乌龙,险些出现事故,也是从这里开始了解到技改需求中解包的必要性。后面也写了篇文章记录了下迁移流程, 最新的 Android Studio 也新增了 Jetifier Warning. 算是第一次全程跟的比较大的事了,自己还是有些成就感的。
持续不断的事故
今年陆陆续续出了不少的事故,印象比较深的是下掉一个 kotlin 插件,导致了支付崩溃,下掉之前自己也只看了 src 下面没有对应的 code,就移除了,没有校检产物,没想到之前的大聪明 hook 了 java task, 阴戳戳的生成个 kt 类。这也是为啥自己愈发看重拆包,很多东西只有拆包才能看得到差异,diffuse 也是查看 apk diff 的神器。尽管出了不少事故,也学了不少东西,成长更多在心态上,遇到一些事,不那么慌了。做事变得更加谨慎了,在大工程下,一个细小操作的影响面是会被放大的。
插件迭代
今年迭代了不少插件的新功能进去,值得一提的是沙盒吧,也叫 SaintsRow(黑道圣徒)。沙盒下能够支持打开独立的子单元进行编译,让我感叹的是,优秀的架构师是具有前瞻性的,我们后面开发的沙盒代码完全是在前辈两年前的架子上继续开发,这个开发模式源自一次两年前的设计,不禁称道架构师的优秀和前瞻性,在他的架子上我们开发的很丝滑,没有遇到特别多的阻碍。听起来很简单,不过在我此前的经历里,看到的大多前人是短视的,他们往往会为了快速拿收益,做出一些杀鸡取卵的事,留给后来人一堆的烂摊子收拾。对这个插件我还是十分感激的,我从中窥到了不少优秀的设计,也补齐了一些欠缺的知识。
写在最后
最后这篇文章真就是年终回顾,结束在 2022.12.31 日,从世界杯决赛到我阳了,也是一波几折。不过好在没有难产,哈哈。
今年切实地感受到了互联网的寒风,冷冽地刮到人脸上,真疼啊。对于这一年中被寒风波及的人,我讲不出任何鸡汤的话来安慰他们,我意识到若非命运的神秘,我也会遭此厄运。若非这个社会重视互联网的方向,我也会过得举步维艰,我并非如我父亲般白手起家。如果不是足够的幸运,我怎会遇到一群如此棒的同事,看到优秀的架构设计,从他们身上学习,同时自己也在尝试去影响他们。在 Cambly 上和外教沟通时,破冰的话题中逃不开工作,你是否喜欢你的工作,我的回复是这取决于我的工作年限,在头两年我一度想要逃离这份工作,现在的我十分喜欢他,而且也正在享受他,每天都是值得期待的一天。