V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
misakawaque
V2EX  ›  问与答

自己写的程序 bug 多又找不太出来原因,如何练习?

  •  
  •   misakawaque · 2021-05-16 18:46:50 +08:00 · 2773 次点击
    这是一个创建于 1289 天前的主题,其中的信息可能已经有所发展或是发生改变。

    快毕业了,为自己的毕业论文写了大概 200 行程序 vs2019 没有语法显示错误 但是运行发现几个内存之类的错误,又不清楚怎么改

    这个怎么练呢

    25 条回复    2021-05-17 19:32:15 +08:00
    sheeta
        1
    sheeta  
       2021-05-16 18:49:30 +08:00
    200 行就毕业啦
    imjamespond2020
        2
    imjamespond2020  
       2021-05-16 18:57:09 +08:00 via Android
    用智能指针
    cmdOptionKana
        3
    cmdOptionKana  
       2021-05-16 19:30:30 +08:00
    改用 java,查错容易。
    ch2
        4
    ch2  
       2021-05-16 19:32:09 +08:00   ❤️ 1
    用 python,有 bug 照样能跑
    shyangs
        5
    shyangs  
       2021-05-16 20:30:28 +08:00
    改用 rust
    raaaaaar
        6
    raaaaaar  
       2021-05-16 23:10:29 +08:00 via Android
    拆分,然后单元测试,或者直接打断点一个个看变量
    liuguangxuan
        7
    liuguangxuan  
       2021-05-16 23:23:07 +08:00 via Android
    多写,多看,多踩坑,熟能生巧。
    justfun
        8
    justfun  
       2021-05-17 00:39:17 +08:00
    这很正常 我每天都是在写 bug
    eGlhb2Jhb2Jhbw
        9
    eGlhb2Jhb2Jhbw  
       2021-05-17 01:00:33 +08:00   ❤️ 1
    运行时错误,还是对语言,乃至对编程,了解不深刻。这部分需要你继续学习。

    debug 能力也很重要,能快速帮你定位 bug 。无论是打 log,还是断点,多学一些快速定位的方法。当然,log 打在哪里,断点打在哪里,还是需要编程经验。

    能发现自己的问提,主动想解决自己的问题,真的很好。

    综上,你还是像 #6 说的那样,多写多看多练习吧。
    ps:别听楼上那些让你换语言的,他们只是和你在“开玩笑”,无论哪种语言,都需要发现问题和定位问题的能力,规避不了。
    huangsen365
        10
    huangsen365  
       2021-05-17 01:34:54 +08:00
    直接找工作到时候遇到问题了 老板骂人了发威了,你就知道答案了。。。
    kop1989
        11
    kop1989  
       2021-05-17 06:36:15 +08:00 via iPhone
    1 、学会单步调试。
    2 、假设你用的是 c#,那么一般内存问题也就是你的对象为 null,但你仍然使用了这个对象的方法 or 参数
    Chancel
        12
    Chancel  
       2021-05-17 08:26:24 +08:00 via Android
    @ch2 php 更合适点
    kekxv
        13
    kekxv  
       2021-05-17 08:31:39 +08:00 via iPhone
    200 行,还是 vs 跑的,这还查不出来?那你问老师啊,不是交学费了吗?
    (题外话:哪所大学或不是大学?
    cxh116
        14
    cxh116  
       2021-05-17 08:39:35 +08:00 via Android
    看懂错误,理解错误提示。
    leafre
        15
    leafre  
       2021-05-17 08:46:58 +08:00
    改用 go
    learningman
        16
    learningman  
       2021-05-17 08:48:52 +08:00 via Android
    200 行。。。。我想想,数据结构写一下就差不多了吧
    bzw875
        17
    bzw875  
       2021-05-17 08:56:28 +08:00
    才 200 行,我写臃肿充满 bug 的函数就 200 多行了
    cominghome
        18
    cominghome  
       2021-05-17 09:03:49 +08:00
    “又不清楚怎么改”

    这不就是能力问题么?唯有继续学习啊。或者你的意思是我不想学,只想把 bug 修了应付毕设?
    iceking
        19
    iceking  
       2021-05-17 11:21:48 +08:00
    自个 review
    7gugu
        20
    7gugu  
       2021-05-17 11:51:38 +08:00
    人生苦短,为啥不用 NodeJS 呢?:doge
    Lemeng
        21
    Lemeng  
       2021-05-17 12:01:01 +08:00
    一般看提示就行,多改。慢慢就会自动规避
    ruanimal
        22
    ruanimal  
       2021-05-17 14:37:05 +08:00
    先把逻辑理清楚,细分步骤,每个步骤写一个函数来做,这样就比较容易 debug 了
    reoah2
        23
    reoah2  
       2021-05-17 14:45:10 +08:00
    理清逻辑,打断点看变量
    abuzzworld
        24
    abuzzworld  
       2021-05-17 16:03:10 +08:00
    没事,等你写到 2 万行的时候就会了
    Track13
        25
    Track13  
       2021-05-17 19:32:15 +08:00 via Android
    去那个 bug 不修完不让下班的公司呆几个月👿
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3239 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:12 · PVG 21:12 · LAX 05:12 · JFK 08:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.