V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
tabris17
V2EX  ›  奇思妙想

动态编程( Runtime Coding)模式

  •  
  •   tabris17 · 2016-11-03 14:34:38 +08:00 · 3194 次点击
    这是一个创建于 2941 天前的主题,其中的信息可能已经有所发展或是发生改变。
    普通写代码的方式是,先在 IDE 里完成代码,一般要完成一个功能,然后做单元测试,有问题的话再进行单步调试。

    如果能有一种编程方法,我代码写到哪行(或者光标指向哪里),就会执行到哪行,我可以直接在调试器里看到运行上下文,局部和全局变量的值。并且可以任意回滚到之前的运行状态

    这样写代码会省心很多呢
    13 条回复    2016-11-05 15:53:06 +08:00
    loryyang
        1
    loryyang  
       2016-11-03 14:39:03 +08:00
    这个倒是很方便小白写流水账代码。结构复杂点的代码就不太好搞了
    yangxiongguo
        2
    yangxiongguo  
       2016-11-03 14:49:27 +08:00
    redux
    Lonely
        3
    Lonely  
       2016-11-03 14:55:01 +08:00
    Xcode 不是有个 playground
    tabris17
        4
    tabris17  
    OP
       2016-11-03 16:24:56 +08:00   ❤️ 1
    @Lonely 怎么个 play 法?
    Lonely
        5
    Lonely  
       2016-11-03 16:30:39 +08:00 via iPhone
    @tabris17 自己搜呗
    littleshy
        6
    littleshy  
       2016-11-03 17:11:04 +08:00
    VS 里 C#可以边调试边改代码。打开自动窗口,就可以看到当前变量的值了。
    C#是编译型的,但现在支持脚本了,估计可以实现你说的这样。
    yushiro
        7
    yushiro  
       2016-11-03 17:20:03 +08:00 via iPhone
    问题是,你代码都没写完,你让编译器或者解释器怎么正常工作?
    xz410236056
        8
    xz410236056  
       2016-11-03 17:38:25 +08:00
    别的不知道,现在 iOS 这边的 RN weex 还有热更新 playground 哪个不是边写边看。 SB XIB 也是所见即所得。楼主不是搞前端的吧
    tabris17
        9
    tabris17  
    OP
       2016-11-03 17:53:00 +08:00
    可能有人理解错了。我说的不是那种调试的时候热更新代码,而是调试器跟着编写的进度走。不但可以 step into / step over ,还可以 step rollback


    @yushiro 就像 Python IDLE 那样咯。只不过 IDLE 是不能回滚的
    svenFeng
        10
    svenFeng  
       2016-11-03 22:34:33 +08:00 via Android
    并发起来怎么办(ーー;)
    ryanzyy
        11
    ryanzyy  
       2016-11-04 16:26:47 +08:00
    可以搜索一下关键词 repl driven development
    yidinghe
        12
    yidinghe  
       2016-11-05 09:44:04 +08:00 via Android
    if(...) {deleteRecord();} 写到这行发现因为条件不满足,括号内语句没有执行。
    Mistwave
        13
    Mistwave  
       2016-11-05 15:53:06 +08:00 via iPhone
    能回滚的 REPL ?试试 IPython Notebook
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 15:09 · PVG 23:09 · LAX 07:09 · JFK 10:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.