5

2020年终总结

 3 years ago
source link: http://blog.cgsdream.org/2021/01/01/my_2020/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2020,终于结束了。

正值多事之秋,方知世态炎凉。一场新冠,席卷全球,有人哭,有人笑,有人同心协力、共谱抗疫之歌曲,也有人勾心斗角、抢夺利益之糕点。酸甜苦辣,共显人生百态。

互联网行业,永远的快节奏,燃烧青春,乱了昼夜,在繁星点点之时疯狂打码,在太阳东升之际卧榻暂歇,终是疲惫取代了激情。曾写出的完美代码,也在混乱的业务下冲击得不堪直视,一直奔波于新的业务中与 bugfix 中,熵减行动终是变成了永远推迟中的计划。

工作篇

拥抱变化,上半年在微信读书做螺丝钉,在完成各种需求的同时,升级了 QMUI 2 并不断迭代,完成微信读书 Dark Mode 适配等,稍显乏味。 下半年 7 月多开始从零开始做微信听书 App, 负责 Android 端的开发。微信听书是采用原生 + RN 的方式,人员分配最初是 1 个 Android 开发,1 个 iOS 开发,1 个 Android 转行的 RN 开发和 1 iOS 转行的 RN 开发,在不停的方案变更与细节修复下,终于在 12 月份前上架了,历史 4 月余,按照项目组的人力,这个开发速度应该是非常快的了,到目前为止,Android 也只有两个开发和一个懂 Android 的 RN 开发。

快节奏的工作,也是对自己的挑战,微信听书 Android 的框架选型、网络存储等基础搭建、音频播放器的开发、push体系接入、支付体系接入等都由我一己之力完成。这算是今年比较自豪的一个点吧。

代码是需要不停做熵减的,以播放器为例,微信读书早就有听书功能,但是它的播放器早已经在不停的改动中变得混乱不堪,所以微信听书是重新写了整个播放器功能,借鉴了曾经在读书踩过的坑,在代码设计层面,我觉得我是做得不错的,并且目前它是一个说开源就可以开源出来的产物,独立性、扩展性都是有保证的,当然,是不会有多少注释的,也不太可能向外开源。开源的问题就是,没有精力去完成文档和社区可能提出的问题,QMUI 目前就处于一个尴尬的位置,虽然有 1.2w+ 的 star,可它已经没人可以花多一点的时间去维护了,目前我也只是会做一些 bugfix 了,一些计划的功能和更新,都停滞不前了。

2021 年微信听书的人手应该会变多一些,App 也会更稳定一些,压力会转到运营,那个时候应该会有一些时间来分享一些微信听书的框架设计,例如播放器的设计、基于scheme 的界面跳转与统计打点等的设计。我还是一个乐于分享的人。

管理与思考

开始了微信听书项目后,我的角色也发生了一些变化,肩负了项目管理、人员招聘等工作,也有了一些新的感悟吧。

人员培养,是一个团队可持续发展的重要基础。可惜的是,这一两年,业务越来越重,代码 review 做得越来越少、团队分享也越来越少。一直在增删业务代码,少有沉淀。即使是业务代码,也少有人能写出 bug free 的代码。以我这几年的感受是,客户端这边团队整体的质量是趋于下滑的,也因此 bug 层出不穷。即使是 2020 年我写的质量比较高的已经对外分享的 QMUISchemeHandler 与 DyanmicEntity 等,也基本上没人去深入看一下它的实现,只能留下我自己孤芳自赏。

我的感觉是,目前团队一直在业务线里 if else,没有去重构过代码,也就不能体味到好代码为何好?代码为何要这么写?什么时候该用什么样的设计模式?可怜的是,基本上专为 java 而生的各种设计模式,在业务上往往变得毫无用武之地。我现在觉得我的能力是能写出一手好代码的,我也一直在团队里提组件化,可终究是指导他人的能力弱了点,有时也是自己不够强势吧,没有让成员反复的去改我任务没达标的代码的魄力,2021年我觉得我应该强势起来,在业务不繁忙时,让组员做出一些更好的组件。

做组件化有一个很重要的就是意识问题,复制粘贴总是看上去那么快,但却往往是没那么快的,而且还容易报 CopyPasteError,很多小问题,仔细思考,都可能衍生出各种情况,也都可能引发出一些不一样的技术,也都可能封装成一个用起来不错的组件。例如状态栏的处理,市面上状态栏适配的框架几十个,原理都是一样的,剩下的都是组件封装方式等各自发力了。新手只是以为懂得状态栏的处理原理就好了,而高手则是能够运用各种设计模式、奇淫技巧进行包装,让你能再各种场景都瞬间完成你想要的效果,这是我们要进步的要点。Vue 凭借一个 Proxy 就开启了 Vue3。意识到某些东西是一个可以利用的点,是多么重要啊,而很多人只是技术栈里增加了个知识点而已,终究是组件化的历练不够。

另一个就是多端融合。微信听书的封面的裁剪、制作就涉及到了取色算法、离线绘制、文字识别、blurHash 等各种环节,涉及到了前端、后台、AI 等各个环节,而不只是从客户端角度出发去解决这一切,如果我们各个不同端多多交流,往往就能碰撞出不同的火花。 当然也有反例:微信读书的公众号封面就是客户端绘制的,因而 ios 和 android 都各自实现了一套,而且还会出现闪烁、耗性能等各种问题。

生活

健康,在拥有时,显得廉价;在失去时,却又显得那么遥不可及。今年妈妈做了甲状腺切除手术,其实我是不想让她做这个手术的,我掌握了那么多中医知识,我是相信可以通过中医调理而恢复的,只是病人总是希望药到病除,以为切了就可以快速摆脱疾病,因而不会采纳通过中医调理这个慢途径了。但是切除手术后依旧,身体更弱了,一遇风寒便是不舒服。这病终究是好不了了。

西医通过仪器去检测,真的准确吗?今年体检前我加班到深夜,而且晚上有点失眠,做检查时是感觉不太舒服的,结果体检结果非常完美,我自己都不敢相信。可能我比较奇葩,以前发生过胸痛、长期咳嗽而去医院检查,结果都是没问题。那么问题来了,要多好的仪器,多贵的检查,才能检查出潜在的问题?而且每次到医院检查,都是一大堆的检查,这个还能接收,关键是换一个医院,其它医院的检查就没用了,要重新检查?说到底还是为了靠仪器检查这些来提高收入罢了。

而中医则由一套完备的医学体系,很多人是不相信中医的,认为什么五行体系很神棍。却不知道它是训练了几千多年的超稳定推荐系统,它的输入是人感到不舒服时的各种症状,推荐出你患了什么病,然后输出是一系列中草药的计量组合以及熬制方法,只要你按照结果服药,你就有很大概率恢复。而学习中医则是来掌握这套推荐系统,而能掌握这套系统的人却是真的很少了,大多数中医医生本质上还是个西医,只是开的药是中药而已。中医西医的区分并不在中西药上,而是理论上,中医是推荐系统主导,西医是算法主导。(这是我的神解释,完美)

今年断断续续的看了些医书,也敢大胆的开药,治好了自己的咳嗽,算是小有进步。

生活上还是太忙了,除了工作和睡觉,已经没有其它什么了,每到周末,也只想睡觉和躺沙发了。明年应该要强迫自己去看房、买房之类的了,哎,想想都累。终究是放慢不了生活的节奏。

闹市之中,追名逐利,来一杯苦茶,平复内心;

繁星之下,编程写码,饮一杯烈酒,燃烧青春。

奋斗不止境,学习无尽头,燃轰轰烈火,刺破长夜,迎朝阳初升,与佳人共赏。

2021,加油。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK