2024年03月29日,春天尤其的困,大家都很焦虑,之前的技术笔记偶尔会提示下有点赞,大多数和面试相关,对我而言,Android 的方向也确实不多了,特别是甲流和新冠的双重打击,持续了太久了,导致了精力一直恢复不了,学不进去的时候,索性就不学了。
或许有些东西,只有到了有心无力的时候,才能幡然醒悟,本着与其痛苦着煎熬的学习,还学不进去的,那就搞点喜欢的,于是拖着本就虚弱的身体开始了养成游戏之旅,也不卷,每天就钓钓鱼,清清日常,然后复制下世界频道的CPDD和他们发的骚话,这日子也过得还行。但是看着之前学习群的大佬们还在卷鸿蒙,Android 进阶,flutter,compose,vue,车载,Java 后台等等,谁能想到Android 入门还能分发这么多下去,看这他们卷算法,我还是蛮慌的,却有了一种就这样了吧的感觉。
代码应该是什么?
过年前的加班后,最近工作还是相对轻松了,但是每天下班的的有心无力的感觉依旧存在,虽然也在缓慢变好,这得感谢旁边诊所的中医老师。精力无法大规模集中的时候,我也会看一些浅显易懂的技术文档。
从鸿蒙,到flutter,compose,RN,vue,uni到taro,都是一些UI绘制相关的东西,既然无法做到某个领域非常的精进如泰山那般拔地而起耸入云霄,那么通过提高广度慢慢的积沙成堆也是一种选择,结合之前的Android相关知识,尝试的将现有的东西做一下理解汇总:
- 我们写的所有的代码,其实遵循某种规则的文件,我们将这些文件存放到指定的目录下,是一种规范,用于防止一些不预期的错误。
- 上面罗列的所有的工程都有一个编译的过程,即使是vue 他也有一种类似于编译的过程,这和Java 转class 的一致的。这种编译转换的风格,就突出了另外一个好处,那么就是静态资源存放的规范性。
- 从编码风格上面讲,我还是喜欢view 和逻辑分离的写法,但是compose和flutter的写法我们感觉类似,不存在手感的问题,都是申请后绑定数据,只是写法不一样,所有的核心还是在于绑定数据的性能上和。
- 这种项目目录化的解构,就很符合人性,对于陌生的项目解构,我们只需要理解每一个目录及其文件所表达的含义及其作用,我们就可以开始编码,目前来说,UI层的编码,应该都是大同小异的。
我想精进的表达能力
那么阻碍我技术精进的到底是什么呢?其实是表达能力,最近精力不好,我也不想把精力用于反驳别人了,然后发现,不反驳的时候,别人是愿意按照你的思路去做的(扯远了)。我们写代码就和说话一样,表达能力不行就如:
渐离,你的语言支离破碎,毫无独到之处.npg
我们知道,要想完整的表达自己的想法是不容易的,特别是想让别人懂。但是呢,代码不一样,代码是规范性的,我们需要按照这个规范去说就行,但是这就有了一个差别,语言表达能力好的人,重心突出,代码就很容易理解,加上对设计模式理解就比较深刻,就导致了一个问题,表达能力强的大佬写的代码,表达能力弱的人看起来打脑壳,表达能力弱的人只能顺着一条线写,就是那种无设计模式概念的写法,打断了,这可就不行了。
这种老是打断的语言是什么呢?js和C,这种面相函数对象编码方式,他和面相class 对象的编码方式有一个明显的区别,就是函数的调用者是非常不清晰的,不像Java都是对象,所以他的操作对象非常明显,所以我建议大家学js 和C, 通过bug去提高自己的表达能力,但是这种面向函数对象的编码方式其实更容易导致单流程的表达方式,这或许就是设计模式存在的意义吧。
我记得有一个大佬给我们说了类似的话:设计模式其实是一种表达方式的解决方案,就和说话的主谓宾一样的,他也是一种模板。在代码里面就是为了解决一种业务诉求而存在的。
未来到底是什么?
其实我也不知道,但是我们终究是活在人类社会,与人沟通才是核心,慢慢精进自己的表达能力这必定是是正确的,但愿我可以做到无咎吧。