2020/08/15日常体会

最近补充学习了一下jetpack的几个库,我这个人有个习惯,就是学习新技术的时候也会尝试去做新的业务,比如,我最开始写kotlin的时候,会尝试去做没做过的自定义View,这样,不但技术面扩展了,业务面(实现思路)也扩展了。只不过,稍微会多花点时间和经历,比如以前用的是livedata+Rxjava,现在尝试livedata+协程做新的没做过的业务,其实用rxjava还是挺爽的,只是协程我还是觉得得先摸一摸,见多了就熟了,虽然学过一段时间后随手拿不起来,再看一遍内容,就能马上用上了,可能这就是大脑的机制吧,而且可能也是成长了,比如我之前完全没有将mvvm应用到项目中,但是有个概念,再看一些demo,虽说不是融会贯通,但是还是能不耽搁事情,一边学习一边做业务的话还是挺有压力的。

发现Paging-Ex跟MergeAdapter有些重复,databinding跟MVVM的搭配也不是很协调。

从0开始做项目的时候,会犹豫,用全新的架构方式写,还是先用以前的方案写,写完再重构,后面发现,还是得将新的内容结合旧的架构重新构建一个全新的框架。
在确定方案的过程中,采用的单Activity多Fragment的方式,也考虑过字节的scene的方案,后面觉得还是按照官方的方案走吧,至少对我的项目性能啥的也没有应用,用选用navigation+fragment的方式,相比传统方案,

  • navigation的xml能够预览整个项目,像sketch的连线那样,能有效快速的查找到对应的fragment。
  • 对于scene跟navigation的实现原理很像,低版本使用Fragment去承接,高版本用LifeOwner

在用mvvm的时候,之前的方案是直接用livedata没用databinding去写,databinding固有的缺点就是不够灵活,字段需要预定义,修改成本高,布局夹杂着判断,优点是视图逻辑跟业务逻辑分开,视图逻辑归到xml中,提高代码的简洁度。

以前用的刷新和空占位都是用的第三方的库,现在jetpack也提供了Paging和Paging-Ex,我都想一把梭能用谷歌的全部用谷歌,毕竟官方情节。

以前不懂什么是好代码,后来明白了很多好的架构都会懂得抽象+设计模式,慢慢地能应用设计模式到项目中,但是却还没掌握其精髓,就像打架的时候,别人拿了一把剑,你拿了一把锤子,别人快准狠,你只能扔出去。

谷歌的东西总是一套套的,学无止境,不学吧又跟不上,学吧,又花时间,工作上还不一定会用到,只能像看书一样,多看看总是有好处的。

但是明白之后发现挺有思想,至少对我来说,目前还写不出优雅的架构。

最近发现"却把清梅嗅"这个人,github是qingmei2,这个人写的文章吧,虽然不是特别高深的东西,但是吧,能感觉到他的水平在提升,价值观很正确,有点东西,至少人家粉丝比我多,能互相交流那种,感觉差距不大,但是这只是自我感觉,中间可能差个1年的水平,如果我这一年不断吸取优秀架构思想的话。以下是他之前的原话,挺有道理。
在这里插入图片描述在这里插入图片描述
至少,我能感觉到自己1年来的技术水平停滞了,没什么本质上的提升,但是又能明显地感受到不足的地方。解决问题的能力是没问题,但是没有什么拿得出手的东西。

别人都可以,我为什么不行。在这里插入图片描述
我发现谷歌的东西真的是,每个时间节点出一些看起来很牛逼的东西,优雅是挺优雅,但是完全没考虑这种时间效率的问题,开发人员水平也参差不齐,别说源码了,至少在我看来,10分钟看完加运用我觉得是最好的,一个paging的教程1个小时。我已经怀疑我自己的开发能力了,包括以前开发风格完全跟谷歌的是两回事。人家是kotlin+databinding+协程,我们这边的是kotlin java混用,砍掉databinding,用的rxjava,navigation的框架也完全没用。mergeAdapter用的multitype,空占位和列表头部尾部也是用的自己的。所以翻了下谷歌的jetpack,咳,还是得过一遍其他几个组件,workmanager又是什么,完全没用到,之前的jobservice也很少用到。。。orm也很少,妈的,以前都是用greendao或者wcdb,现在打算用room来写,咳,毕竟好久没写本地数据库的了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值