新员工们立刻围了上去,电脑前挤得水泄不通。赵默负责查看代码逻辑,指尖在键盘上飞快敲击,调出函数调用记录;林笑笑则拿着纸笔,反复测试不同汉字的转换效果,记录下每一次的输出结果。有人查阅《编码观道》里的架构设计章节,有人翻找汉卡ApI文档,教室里再次响起密集的键盘声。起初大家信心满满,可测试了十几遍,程序都能正常转换汉字,别说bUG,连个警告提示都没有。
“不可能啊,张总肯定不会骗我们。”林笑笑揉了揉发酸的眼睛,把测试记录递给赵默,“我试了生僻字、多音字,都没问题。是不是兼容性问题?换台电脑试试?”
换了电脑测试,程序依旧正常运行。有个男生急得抓了抓头发:“会不会是特定运行环境才触发?”大家立刻调整系统配置,从doS到dows 3.2,程序还是没出问题。四十分钟的时间快到了,不少人脸上露出挫败感,连一直沉稳的赵默都皱起了眉头,手指无意识地敲击着桌面。
“时间到。”张天放的声音响起,他走到电脑前,示意大家安静,“找到bUG了吗?”
新员工们纷纷摇头,赵默有些不甘心地说:“张总,我查了所有函数调用和内存分配,没发现问题。是不是您写的时候不小心遗漏了?”
张天放没有回答,只是在键盘上敲了几行命令,调出了程序的内存占用记录。屏幕上,一条平滑的曲线在运行三十分钟后,开始以极缓慢的速度上升,虽然幅度微小,但趋势明显。“看这里,”他指着曲线,“这就是bUG——内存泄漏。它不会影响程序短期运行,甚至测试一天都可能发现不了,但如果集成到汉卡系统里,连续运行一个月,就会导致系统崩溃。”他顿了顿,看向赵默,“你昨天提的依赖包优化,就是在解决类似的问题,只是这个更隐蔽。”
新员工们都愣住了,赵默恍然大悟:“您是故意在循环调用的子函数里没写内存释放语句!这个地方不查长期内存占用,根本发现不了!”
“没错。”张天放关掉屏幕,走到教室中央,“我今天不是要考你们的技术,是要让你们明白,调试bUG的过程,就是修炼心性的过程。”他拿起粉笔,在黑板上写下“耐心”“逻辑”“协作”三个词,与手册扉页的“道生一”遥相呼应。
“你们刚才急着测试功能,却忽略了最基础的性能监控,这是缺乏耐心;赵默想到了内存分配,却没坚持跟踪长期占用,这是逻辑不够周全;林笑笑记录了测试结果,却没及时和技术组同步,这是协作不到位。”张天放的声音不高,却像重锤敲在每个人心上,“写代码就像做人,表面光鲜容易,藏在骨子里的‘缺陷’才最致命。就像我们做汉卡,不能只满足‘能用’,还要追求‘耐用’,这才是‘长期主义’的本质。”
他顿了顿,目光变得温和:“更重要的是,你们要学会接受不完美。发现这个内存泄漏后,你们第一反应是‘打补丁’加释放语句,还是‘重构代码’优化调用逻辑?”
“重构!”赵默和林笑笑异口同声。赵默抢先说:“这个子函数的调用逻辑可以优化,用‘单例模式’控制实例创建,从根源上避免内存泄漏,比打补丁更彻底。”林笑笑补充道:“而且重构后,后续加新功能也方便,不会影响用户使用体验。”
“说得对。”张天放赞许地点头,“《编码观道》里引用《道德经》‘大成若缺’,真正的完美,不是没有缺陷,而是知道如何面对缺陷。就像我们的产品,不可能一开始就做到十全十美,但只要我们有耐心去发现问题,有逻辑去分析问题,有协作去解决问题,就能不断优化,不断接近‘道’的境界。”
培训结束时,已是晚上八点。新员工们走出培训教室,脚步比来时沉稳了许多。赵默手里拿着陈星手写的架构优化建议,正和林笑笑讨论明天的方案评审会;有人捧着《编码观道》向张天放请教,有人则在走廊里交流今天的调试心得。林笑笑走到赵默身边,递过一瓶热豆奶:“今天对不起,我一开始太执着于用户需求,没考虑你的技术难度。”
赵默接过豆奶,耳根微微泛红:“该说对不起的是我,我不该只盯着代码,忽略了用户真正的需求。以后咱们互相提醒,你抓用户痛点,我做技术支撑。”
张天放站在办公室的窗前,看着新员工们三三两两地走出龙腾大厦,路灯把他们的影子拉得很长。陈星端着两碗刚泡好的泡面走进来,把其中一碗放在他面前:“都安排好了,明天他们就分到各个项目组,赵默跟我进汉卡优化项目,林笑笑去产品部跟着王姐做智能楼宇的需求迭代。”
“嗯。”张天放接过泡面,热气模糊了眼镜片,“我们当年创业的时候,要是有人这么带一带,能少走不少弯路。”
“但我们自己摸爬滚打出来的,印象更深刻。”陈星吸了一口面条,含糊不清地说,“就像那个内存泄漏,他们自己找了四十分钟没找到,比我们直接告诉他们记得牢。赵默刚才还问我,能不能把这个案例加到《编码观道》里,作为‘隐性bUG调试’的例子。”
张天放笑了,拿起筷子搅动泡面:“这小子,倒有举一反三的本事。”他看向窗外,龙腾大厦的灯光次第亮起,像一串温暖的代码,在1997年的冬夜勾勒出清晰的轮廓。这些新员工,就像刚种下的种子,在“道与代码”的土壤里,已然开始生根发芽。
“对了,”陈星忽然想起什么,“清风道长昨天打电话来,说他下个月来深圳,想看看我们的汉卡新架构,还说要跟你聊聊‘道与代码’的新感悟。”
张天放的动作顿了顿,眼中闪过一丝期待。那位把《道德经》与编程逻辑融会贯通的道长,总能带来新的启发。他看向桌上的《编码观道》,扉页上“代码有道,非恒常之道;算法无名,乃万物之始”的批注,在灯光下格外清晰。
夜风吹进办公室,带着几分冬夜的凉意,却吹不散室内的暖意。张天放知道,龙腾的“系统”正在不断扩容,而这些新加入的“进程”,带着共同的“核心价值观”,终将让这个“系统”运转得更加高效、更加稳健。1997年的开篇,因为这些新鲜血液的注入,已然写满了希望——属于他们的“未来代码”,才刚刚开始编译。