V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iloveyouso
V2EX  ›  程序员

你们开发新功能的时候,是喜欢一次性敲完大部分代码,然后边敲代码边 debugger?

  •  
  •   iloveyouso · Oct 27, 2018 · 3864 views
    This topic created in 2748 days ago, the information mentioned may be changed or developed.

    我发现我最近开发新需求的速度变慢了多,经过反复的反省,发现是我喜欢敲四五行代码就去 f12 那里看看执行情况。以前都是敲完几十行代码,逻辑明白,然后通过记忆各个变量的位置以及含义去 debugger。

    我感觉是不是因为最近加班多了,导致大脑存储能力变差了?细思极恐。。各位敲代码也是类似这样吗?

    15 replies    2018-10-28 11:58:31 +08:00
    likuku
        1
    likuku  
       Oct 27, 2018
    那么不如就走 TDD 路线吧
    lihongjie0209
        2
    lihongjie0209  
       Oct 27, 2018
    脚本语言的话 ,类似 python 是一遍在交互式终端测试, 测试没问题之后复制到代码中



    静态类型的语言, 类似 JAVA, 可以直接写完逻辑然后跑一遍就好了, 因为编译器帮你干了很多事
    IridescentChen
        3
    IridescentChen  
       Oct 27, 2018 via Android
    我一般是,如果感觉状态良好,一遍下来思路清晰,没什么大问题就敲完了再 debug。如果感觉某个地方有问题,或者没想好,就 //,把敲好的 debug
    binux
        4
    binux  
       Oct 27, 2018   ❤️ 1
    如果对上下文和 API 很熟悉的时候,都是一次性写完所有代码,然后写测试。运行一遍,改几个小 bug 就 ok 了。
    如果对 API 不熟悉,开个交互式界面,把输出弄出来,仍注释里,然后一次性写完。
    如果是算法类程序,先写测试,然后一次性写完代码。然后根据需要加 print,从来不用 debugger。
    suckli
        5
    suckli  
       Oct 27, 2018
    当然是写完了 DEBUG,在思路清晰的前提下。
    ShareDuck
        6
    ShareDuck  
       Oct 27, 2018   ❤️ 1
    很明显,你效率降低不是因为多了查看运行,而是上 V2EX 划水。
    iloveyouso
        7
    iloveyouso  
    OP
       Oct 27, 2018
    @ShareDuck 诶,你还真别说,每一次回去看 f12 总不经意的撇到旁边的 v2ex
    leekafai
        8
    leekafai  
       Oct 27, 2018 via Android
    看情况吧,一般来说我会先面向过程,写几个空方法作为过程验证,如果过程逻辑没有问题,就填充方法逻辑。当功能验证之后,我最后再考虑做通用抽象,因为业务逻辑一般只是局部通用,抽象太早的意义不大,但是最后不做抽象和封装的话,扩展性就不好了。
    wohenyingyu02
        9
    wohenyingyu02  
       Oct 27, 2018
    喜欢全部敲完,但是过程中会有留几个坑等几个模块完成后再连起来,问题是经常忘了,导致运行一堆 bug
    Gcourage
        10
    Gcourage  
       Oct 27, 2018 via Android
    我感觉这个才是对的吧,不过方法,可以继承类似 gtest 等 ut 框架写测试用例来验证。
    storypanda
        11
    storypanda  
       Oct 27, 2018 via Android
    我是打算边敲代码边 debuger,看到开发的功能在手机上实现会有成就感,对了我是初学者,需要了解模块的功能以及逻辑。
    也想全部敲完,就怕一堆 bug,结果最后没信心。
    envylee
        12
    envylee  
       Oct 27, 2018
    “不要过早优化”
    trait
        13
    trait  
       Oct 27, 2018
    讲道理 debugger 是遇到测试没发现之类的偏底层的错误才用的到吧,靠 debugger 来修正代码逻辑得多慢啊
    dapang1221
        14
    dapang1221  
       Oct 27, 2018
    一般情况就是全写完先跑一遍,万一跑通了呢,而且平时基本也都在写 crud,基本一遍就能过。
    偶尔需要做点算法,或是整理一个奇葩数组时,整理完 print 一下,看下结构符不符合预期,然后继续写。
    如果遇到对接别人接口,先在 paw 里拿数据测试下,看下对方接口返回的是不是跟文档一样,没问题的话也是全写完,中间做好各种异常处理,基本也能一遍过。
    test0x01
        15
    test0x01  
       Oct 28, 2018 via Android
    先敲完,目测 diff 一遍,写单元测试,写完跑,修 bug,完工!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1179 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 120ms · UTC 17:44 · PVG 01:44 · LAX 10:44 · JFK 13:44
    ♥ Do have faith in what you're doing.