当前位置: 首页 > 后端技术 > Java

开发中难以解决的问题,你是如何另辟蹊径的

时间:2023-04-02 00:32:41 Java

解决发展中的难题,如何找到新的出路?棘手的问题?或者我们换个角度,产品经理提出的难以实现的要求,你是怎么处理的?或者当你在开发某个功能的时候遇到障碍,你是怎么解决的?面对这种问题,如果你从头到尾都没有遇到过,我只能羡慕你,没有别的。我羡慕的可能是你的手艺,也可能是你的口才,就是要么实现小菜一碟,要么回产品经理也是小菜一碟,实现不了,实现不了,简而言之,您的非凡技术确实令人钦佩。对我来说,这似乎平庸。每一个项目,不管是公司的还是自己的,几乎每次都会遇到一些小挫折,需要花一些时间去调查解决。除了服从,还有就是服从产品经理提出的诉求。所以,基本上,我很少拒绝。在我的怀里,经历了这么多,也渐渐学会了一些别的方法,想办法。确实,对于很多实用但难以实现的功能,确实还有其他的解决方案。记得刚开始工作的时候,也就是8年前,需要实现顶部Banner和下方列表的联动下拉刷新。作为一个职场新人,我是一个纯粹的新手。这是一个非常复杂的功能。也许我会回头看看。以前只能自嘲,谁不是一步步走过来的吧?那时候我脑袋大,不知道怎么办。我在网上搜索,但我不知道要搜索什么。我真的不知道如何搜索。这并不夸张。非常稀缺。最下面是ListView,最上面是Banner。如何将两个控件链接在一起?待解决的问题,东找西找,慢慢找,发现最上面的Banner作为ListView的headerView,解决了。确实,绕了一大圈,我发现,这样的功能,人家是自己存在的。在很多情况下,它自身的局限性限制了它的简单实现。你觉得难,其实就在眼前。其中很多功能确实需要从根本上寻找新的发现方式,而不是无限探索。说说最近的一个开发问题。我们都知道Jetpack中有一个组件导航,一个导航库,它以可视化的方式管理Fragment的切换。当前项目使用它作为底部的tab开关,但是接下来问题来了。每次单击底部选项卡时,都会重新加载当前Fragment。这样的效果肯定不符合实际需要,那怎么解决呢?这个时候没有别的办法,只能去查看里面的源代码。通过源码发现Fragment的切换是通过replace方法切换的,并且加入了回滚栈,也就是说每次切换Fragment都会销毁。查看并重新创建视图。找到原因后,重新创建继承类,修改导致错误的方法,做有针对性的解决。这时候的问题,你还想用,只能花心思去研究,没有别的办法,除非你不用。相信实际开发中的很多问题都需要另辟蹊径。找到解决方案比找到新方法更好。说一下我之前遇到的一个小程序问题。确实是一种新的方式,因为问题太多了。太多差点阉割了自己的小程序。还记得微信小程序上线的时候,我也加入了开发营,但是随之而来的一个问题就是,数据从哪里来?它是如何渲染的?或许对于一个企业,或者一个团队来说,这些都是微不足道的问题,但是对于一个开发者个人来说,确实是一个需要面对的问题。如果2017年,你打算做一个知识分享的小程序,你是如何进行的?买服务器,买域名,买证书,找人或者自己开发一套接口,然后根据接口和小程序的语法开发自己的功能。OK,当然可以,但是问题又来了,小程序不支持Personalwebview,到现在还没对个人开放。针对这个问题,如何动态显示你的页面内容呢?注册公司?因为一个小程序,买个服务器开个公司,你觉得划算吗?是你,2017年,你怎么修?种种问题阻碍了一个想开发小程序的开发者,尤其是个人开发者,一个想免费做小程序的开发者。可能别人遇到这样的问题会退缩,但是我不一样,我是吧台长,越是遇到阻碍,越是要另辟蹊径寻找解决办法。的确,在2017年,这些都是阻碍小程序发展的先决条件。我的数据来自哪里,我如何在页面上呈现它?将内容和资源直接打包到小程序中?当然不是。首先,数据不能动态更新。其次,小程序也有大小限制。当时打包体积是2M。这种方法行不通,于是我们转而探索其他方法。当时我的想法是,我只是做一个知识和技术分享的平台,不涉及互动。有没有可能找到一个静态文件托管的平台?当时,我只是按照我说的去做。我把一些数据一一写入静态txt文件。写完之后,我搜索了一些免费的服务器,我可以动态获取它们。但是免费的毕竟是免费的,很不稳定。还有就是正式的打包和推出,必须是https,免费的都是http。显然,这是不能满足的。转了一圈盯着github,大家都知道github可以实现静态网站,也可以托管一些文件资源,而且还是https,真的很符合。第一版小程序全部托管。github。虽然解决了文件托管的问题,但是github毕竟是国外的,在国内访问有时不稳定。最后重点介绍阿里云代码。在未来的版本中,所有静态文件和图片都托管在阿里云代码上。快速稳定。至此,静态文件的问题解决了,但是图文丰富的文章如何展示呢?毕竟个人小程序是不支持webview的。把文章一个一个做成图片,然后放到静态文件里,每个页面请求加载图片?方法是可以的,但是有时候图片资源太多,加载的图片太大,有加载过程,也很耗流量,不友好。后续文章的展示,我花了很多时间研究如何快速实现一篇图文丰富的文章,可以在小程序中友好的展示,最终定下一个方案,即就是,把文章转成静态的txt文件,也就是纯json,然后小程序文章页面根据文章id请求,将对应的Json转成文章。通过json的方式,根据类型动态创建小程序标签,显示不同的内容,确实可以满足现在的需求,而且图文并茂,很符合,但是如何生成对应的Json,文本每篇文章的风格和图片风格,怎么改,需要手动一段段复制吗?显然,太费时间了,所以,接下来,根据文章内容,做了一个动态转换json的可视化工具,如下图,通过这一栏的操作,可以看做是解决个人开发者的障碍。这样就有一个问题,就是需要自己复制文章的内容和图片。虽然是观想,但也需要一点时间。既然市面上有富文本编辑器,为什么不修改一下呢?生成的无非是html标签。将这些标签转换成小程序就足够了。确实,这个思路是可行的,进而加快了文章的json生成。一个接一个的小程序问题。如果你不能有效地找到另一种方法,就很难有这样的产品。当然,我说的是免费的,个人开发者自己开发的,所以啊,老手们,遇到问题,很多时候,我们需要的是别出心裁,不能在某一点上固执己见,否则,真的是费时费力,最终也很难达到我们的预期。以上通过自己的三个小例子,简单说明了我是如何处理疑难问题的。你会发现,当遇到问题时,我通常会先解决。毕竟对于未知的世界,另辟蹊径,说不定还有可能的实施方案,不管是公司里的项目还是自己的项目,千万不要直接放弃,可能会有很多困难,但是解决了这些问题之后,你会发现,除了技术上的提升,还有认知上的提升。在开发中,我们会遇到各种各样的问题,或多或少会有一些难以解决的问题。遇到这些问题,我们不要一上来就说不,而是要面对问题本身。我们能否有想法和观点进行处理,技术本身不是狭隘或排斥,而是发散和创新。嗯,老铁们,你是怎么解决这个很难解决的问题的?当然,面对难以实现的需求,仍然存在棘手的问题。有一个场景,领导问你,你直接拒绝,说实现不了,解决不了,但是别人实现了,解决了。在这种情况下,你...