这一个月,忙成狗,闲下来了,复盘一下工作中遇到的问题,包含沟通、交流。
首先,遇到的问题分为两类:一是技术上的,另外是沟通理解上的。老实说,自己对的最近一个月的表现不太满意,虽然加班,付出了大量的时间和心力,但是有些消耗其实都可以减免的。
一、技术上的问题
1、路由问题:
公司的技术点不同,页面跳转都是采用路由跳转,通过路由参数taskInfo(字典类型)来传值,这样就导致,但是要根据文档对应的路由参数进行传值,因为页面都是公用的,有可能下个页面采用H5或者是其他页面,如果不按照约定传值,这样就可能会导致页面不兼容的问题。所以,必须要按照约定的参数传值。
2、传值问题:
我们通过提供的taskInfo参数传值,字典里面可以存放需要传的model、字典、字符串等等。但是注意下个页面是否有对应的数据,如果有就不要再传对应的model。之前不太清楚导致做了很多无用功,还显得代码多。
3、传值引发的问题:
这个属于衍生问题,传参的复杂性导致处理也会趋于复杂。
4、cell复用的问题:
cell有多种状态,包含图片、音频、留言、点赞等,随时根据返回的数据,这样如果处理不好,就会导致cell的复用出现问题,最典型的就是,cell中的图片、录音图出现在其他cell中,导致显示混乱问题。所以我们要专门针对界面做处理。
最典型的问题cell里面有视频类,我们需要显示视频图片,这时候就不能直接使用之前的sd_setImageWithURL:placeholderImage
的方法了,这样会造成滑动的时候卡顿,原因在于它需要加载整个视频,这样的话,在加载视频较多的情况下,卡顿就在所难免了,所以我们使用下面的方法。
[_imageView sd_setImageWithURL:[NSURL URLWithString:str] placeholderImage:[UIImage imageNamed:@"default_img_s"] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
if (error) {
weakSelf.imageView.image = [weakSelf getThumbnailImage:model.url];
}else{
weakSelf.imageView.image = image;
}
}]
不能直接用缓存+换位图的方法。
- (void)sd_setImageWithURL:(nullable NSURL *)url
placeholderImage:(nullable UIImage *)placeholder
二、沟通理解问题
1、界面布局
有时候沟通不到位,细节没注意,必然出现问题,一定要从根上找,否则隐患一直都在,这样后续引发的导致诸多问题要消耗大量的时间去填补。最终还是要回到根本问题上来,一步一步的排查问题,这看起来笨,其实是最快的。
2、处理逻辑、参数意义
和同事梳理好比较复杂的逻辑,形成文字,关键处要找安卓好好沟通,过好流程,这里最关键,查漏补缺。
三、软技能问题
1、git
分支的创建、合并、reset、冲突等问题,这里也消耗了自己大量的时间,并且也要麻烦同事来处理自己的问题,且不止一次,从根本上来说,这些软技能也是很重要的,是团队合作的基础,所以必须重视,搞清楚各个方法的本质。
可以用自己的GitHub做各种演练,模拟状态,问题。
另外,代码不要有写死的思想,还是用活的数据,以应变将来可能的数据改动。
2、问题描述
问题描述不精准,以及对数据的自以为理解,导致和同事讨论问题的时候,一直说不清道不明,处处被动,有些自己合理的地方,也不能及时的表述出来,以后多多注重这方面。
3、发布前的问题
最最重要的,如果不是根本性的大问题,只是一些UI显示的小问题,不要再打包上传的关键时候,修改打的逻辑,这样牵一发而动全身,不应该犯这样的错。
另外,还有心理重视方面的问题,对于有些问题过于自信,以至于没有做足够的验证就提交测试,导致问题再次出现,让别人麻烦不说,对自己的信心打击也是挺大的。
所以,请以后多点周到,少点不该犯的基础性的常识性的错误。
网友评论