网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 其他技术区 > 程序人生 >

AI都深度思考了,人却不思考了...

时间:2025-04-20 12:03

人气:

作者:admin

标签:

导读:在了解Fastjson编解码Integer数字时,曹小三同学让DeepSeek“深度思考”生成了一些testcase。下面是DeepSeek提供的JUnit5测试代码。 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSO...

在了解Fastjson编解码Integer数字时,曹小三同学让DeepSeek“深度思考”生成了一些testcase。下面是DeepSeek提供的JUnit5测试代码。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;

import org.junit.jupiter.api.Test;
import static org.junit.Assert.*;

public class IntegerCodecTest {

    @Test
    void testNullValue() {
        String json = "{\"num\": null}";
        Model model = JSON.parseObject(json, Model.class);
        assertNull(model.num);
    }

    @Test
    void testInvalidFormat() {
        String json = "{\"num\": \"abc\"}";
        assertThrows(JSONException.class, () ->
                JSON.parseObject(json, Model.class)
        );
    }

    static class Model {
        private Integer num;
        // getter/setter
    }
}

其中,小三在运行testInvalidFormat时,发现assertThrows不奏效————junit断言JSON.parseObject(json, Model.class)会抛出JSONException,实际却没有抛出。

小三就反馈给DeepSeek。
DeepSeek开启了“一本正经地胡说八道”模式。

小三把这个情况讲给同事赵小四,小四自信地解释道“这是Fastjson在兼容性方面做得好。”

小三、小四的师傅工匠李得知后,一眼发现了问题。原来,上面JUnit代码中,DeepSeek省略了Model类的 getter/setter,加上就好使了。并通过运行testInvalidFormat给两个小伙演示所抛出的异常stacktrace。

点击查看代码
com.alibaba.fastjson.JSONException: parseInt error, field : num

    at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101)
    ...
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:588)
    at com.emax.IntegerCodecTest.testInvalidFormat(IntegerCodecTest.java:36)
    ...
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Caused by: java.lang.NumberFormatException: For input string: "abc"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
    at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:995)
    at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:93)


小三、小四这才明白这个技术点:
Fastjson对于非Integer数字,是无法反序列化为Integerint数字的,会抛出异常。




【结语】如今,AI 代码生成工具如 Copilot、Cursor 等,能基于简单提示快速输出代码片段,甚至完成复杂功能模块,其 “思考” 速度与覆盖范围令人惊叹。但不少程序员却因此过度依赖,遇到问题便直接让 AI 生成代码,不再主动分析需求、构思算法逻辑,也不深入理解代码背后的原理与设计模式。

比如开发数据库连接模块时,不思考如何优化连接池配置,直接使用 AI 生成的默认代码;设计复杂业务流程,不进行架构规划,盲目套用 AI 提供的解决方案。这不仅导致代码质量参差不齐,也让程序员逐渐丧失独立编码与解决问题的能力。AI 虽强大,但它的 “思考” 是基于数据训练,无法替代程序员对业务的理解、对技术的创新探索。

当人放弃思考,就如同失去灵魂的躯壳,难以形成独特见解,创造力也会被逐渐磨灭。长此以往,人类将在思维的 “温床” 中丧失进步的动力。唯有保持主动思考,将 AI 作为辅助工具,才能真正发挥其价值,成为优秀的开发者。


当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/p/18836688


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信