工作日记||溢出

作者: 宴会说 | 来源:发表于2024-04-08 07:38 被阅读0次

同事请求我帮忙写一个程序,大部分功能模块完成之后,我陷入疲惫,一直不想动。

不想再去进一步研发的原因,只有一个,太复杂。太复杂好像也不是根本原因,根本原因还是在于不能专心解决问题。平时上班期间,一会儿一个电话,一会儿有人找,刚理好一点思路,马上被打乱,又要重头开始。而写小工具,最重要的就是逻辑。一会儿一会儿地被打断,问题并没有得到解决,相反问题越来越复杂。思路理不清楚,即使有AI助手介入,也显得那么无力。不要说一个弱人工智能助手在帮忙,就是一个真的程序员高手坐在旁边专门负责写,一会儿被打断,也是无法实现。办公室里,不具备专注的条件,我干脆不动,静等周末。

星期天阳光明媚,是个外出游玩的好日子。朋友圈里的晒娃、晒女友、晒蓝天、晒碧水、晒青草......,各种晒通通都与我无关,我把自己关在家里,面对着电脑屏幕,在AI助手的陪伴下,专注于功能实现。

同事的需求,最复杂的一点在于需要迭代。用普通人的思维讲起来很简单,就是做一个判断,如果范围线内公益用地面积比例低于百分之四十,则进一步扩大范围线,再进行分析,直到满足范围线内公益用地面积比例高于百分之四十。听起来非常容易理解,问题的关键是计算机没有人那么聪明,我翻译给AI时,AI直接神经错乱,好几次提供出来的方法都不对。好在我之前已经把分析判断部分的方法完成,现在只需要解决自动迭代的问题。看到需求时,我第一时间的反应是使用递归,没有什么方法比递归更适用,只要设置一个百分之四十的跳出条件,可以大大节省代码量。递归虽然简洁高效,对人员的素质要求也很高,我已不碰递归很多年,主要是担心选不好终止条件,陷入死循环,从而造成溢出死机,我决定采用笨方法。

经过一番折腾,笨方法没有造成死机,但溢出只是迟早的事情。计算机听不懂复杂的需求,我只有运用分解大法。所谓分解大法,在我看来应该是编程或者说生活的绝密大法,就是把复杂的问题一层层的分解,最终分解成计算机能听懂的语言,分解到最后,甚至于接近一加一等于二的表达。功夫不负有心人,在我耐心的分解下,AI助手总算把代码完成,我又手动按照业务逻辑,把每个方法串连起来。很多小问题,我在组装过程中一解决,一切看起来都很完美。

不出所料,运行界面也没有报错,只是提示在疯狂分析计算中。疯狂分析计算是我组装时加的一句话,主要是想要向同事表达,工具开发不易的意思。计算机疯狂了半个小时,还在提示疯狂分析计算中。按我以往经验判断,程序一定出问题了。几白兆的矢量数据,即使再复杂的计算,我这个电脑最多十多分钟处理完。偏偏写工具的时候,我又偷懒,没有加入过多的输出信息,以至于现在也不知道问题出在哪里,计算机只是告诉我一句话,它在疯狂分析计算中。

程序执行无法提供足够的信息判断,我只有另寻他法。打开临时目录,看下过程文件,我发现才迭代到第二次。这样来看,一定是迭代之后的处理有问题,但我有说不准问题在哪里。我心想只要程序不报错,就让它自己运行,万一只是因为处理过程复杂,流程没问题的话,我就不需要再重写。抱着偷懒的想法,我直接把电脑放在那里,让它自己疯狂分析计算。

直到晚上,电脑还在疯狂分析计算。如此疯狂,肯定不正常,一定是计算过程产生了大量冗余数据,只有打开过程数据检查一番。一打开过程数据,我直接傻了眼,屏幕上画满了各种圆圈,层层叠叠,密密麻麻,很明显是第二次缓冲时造成的,试着打开下属性表,卡顿无比,经过漫长的等待,属性表终于出现在面前,属性表显示目前文件中已经有一万多个要素。一万多个要素对比输入的一百多个要素,增长级别也有点太快,难怪会一直疯狂分析计算。而这次是第二次迭代,再迭代几次,数量级岂不是要上百万,最终结果一定是溢出。我不再多想,直接关掉电脑,免得它疯狂致死。

业务逻辑没有问题,程序也不报错,但是有溢出风险,看来只有等到上班时间,当面再请教下同事,优化业务逻辑之后,再改造程序吧。

相关文章

  • 静而不争远是非

    换了色的世界分外亲和干净 昨日记忆从然溢出

  • JVM学习系列学习七

    5:实战:内存溢出的定位与分析 内存溢出在日常工作中,这个错误很容易遇到。遇到内存溢出,首先我们需要快速定位内存溢...

  • java GC详解

    工作中出现的内存溢出异常, 最后只需要调节相应内存大小即可。 永久代内存溢出实例永久代内存溢出实例 jvm各参数含...

  • 溢出工作法

    借用认知盈余的概念,工作也需要盈余,形象化的描述为溢出。杯满茶溢。 在企业运营,日常工作中,大部分工作属于认知盈余...

  • css文字溢出用省略号表示

    单行溢出 多行溢出

  • JVM、并发编程、函数式编程思维导图分享,简单明了

    一、JVM 1. 运行时数据区域 线程私有 线程共享 2. 溢出 堆溢出 栈溢出 方法区溢出 直接内存溢出 3. ...

  • 2017-12-03

    幸福是可以溢出来的,溢出你的嘴角,溢出伱的微笑

  • 检测APP内存溢出LeakCanary

    日常工作中开发APP,我们很多习惯不好的代码风格可能会带来内存溢出,内存溢出在每个APP多多少少都会出现,我们只要...

  • 溢出

    我满心满眼溢满了你 从我看到你的第一次起 宇宙崩塌得悄无声息 我听到灰尘扬起的声音 我听到空荡荡的声音

  • 溢出

    就如这只随身携带的BIC 打火机,是一段日子的见证。人生开始变得如自己随想般有趣。 轻描淡写,去跟友人讲诉,足以,...

网友评论

    本文标题:工作日记||溢出

    本文链接:https://www.haomeiwen.com/subject/weeitjtx.html