V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Nagisa1992
V2EX  ›  程序员

吐槽下最近接手一个项目的代码,还有这种操作?

  •  
  •   Nagisa1992 · 2017-07-13 15:54:26 +08:00 · 7800 次点击
    这是一个创建于 2719 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Markdown

    这 save 还能更快点吗?

    Markdown

    47 条回复    2017-07-17 11:34:32 +08:00
    knva
        1
    knva  
       2017-07-13 15:57:03 +08:00
    没准是测试代码呢.
    Famio
        2
    Famio  
       2017-07-13 15:59:19 +08:00
    function clean_cache()
    {
    alert("缓存清除成功!")
    }

    前两天 V 站看到的
    kinghui
        3
    kinghui  
       2017-07-13 16:02:47 +08:00
    没准是兼容代码呢.
    chazz
        4
    chazz  
       2017-07-13 16:04:06 +08:00
    哈哈哈,跟前段时间的清楚缓存 一摸一样的操作
    claysec
        5
    claysec  
       2017-07-13 16:05:23 +08:00
    def random():
    a = random(10)
    return a
    surfire91
        6
    surfire91  
       2017-07-13 16:07:49 +08:00
    我咋觉得没啥问题,可能是为了方便调试,或者是预留接口之类的
    Lonely
        7
    Lonely  
       2017-07-13 16:12:52 +08:00
    这一般是预留的吧
    lixiangzaizheli
        8
    lixiangzaizheli  
       2017-07-13 16:20:17 +08:00
    如果项目写完了就不会要你接手了 先写完逻辑再补代码而已
    cod
        9
    cod  
       2017-07-13 16:20:50 +08:00
    没毛病。 第一段预留,第二段一般都是测试代码,改成 false 就快速屏蔽。
    经常这么写,尤其是脚本类语言。
    当然 c/c++的话,就不可能这样,改一下再编译太费劲。
    momocraft
        10
    momocraft  
       2017-07-13 16:24:41 +08:00
    我做到一半时也这样..不过会写个 FIXME
    reus
        11
    reus  
       2017-07-13 16:27:01 +08:00   ❤️ 7
    少见多怪,你经验还是太少

    用来调试的,用来预留的,各种技巧,多学习,少吐槽
    blacklee
        12
    blacklee  
       2017-07-13 16:31:37 +08:00
    1. 很多人说了,这没毛病,是你少见多怪。多写几年,你就会用这种方法来调试代码了。
    2. 话虽如此,但这种代码应该是留给自己的,把这种代码交出去就不太好了。
    iyangyuan
        13
    iyangyuan  
       2017-07-13 16:33:24 +08:00
    没什么大问题,方便扩展,很有先见之明
    autoxbc
        14
    autoxbc  
       2017-07-13 18:30:04 +08:00
    附加操作,快速屏蔽
    if(true)
    {...}

    快速略过判断条件
    if( false || ... )
    {...}
    else
    {...}

    多方案备选
    switch(1)
    {
    case 1:
    ...
    break;
    case 2:
    ...
    break;
    }
    printempw
        15
    printempw  
       2017-07-13 19:01:28 +08:00
    挺正常的,我也常写,不过一般会标明,也不会就这么放着交给别人
    nutting
        16
    nutting  
       2017-07-13 19:32:59 +08:00 via Android
    第一个应该留个 TODO 吧,第二个测试用的,但是 true 建议定义到一个常量里起个名字吧
    kamen
        17
    kamen  
       2017-07-13 19:36:33 +08:00
    写法没毛病,但是好歹加个注释啊
    Mikewu
        18
    Mikewu  
       2017-07-13 19:43:18 +08:00
    测试的时候我也常这样写
    mingyun
        19
    mingyun  
       2017-07-13 22:08:43 +08:00
    // to do
    Ouyangan
        20
    Ouyangan  
       2017-07-13 22:11:23 +08:00
    因为没写完逻辑的话 , 不这样写编译器就会报错啊...
    oneonesv
        21
    oneonesv  
       2017-07-13 22:30:38 +08:00
    测试用的 没毛病
    hellojeana
        22
    hellojeana  
       2017-07-13 23:42:38 +08:00 via iPhone
    @Famio 好好笑!!😂😂
    wemore
        23
    wemore  
       2017-07-13 23:55:59 +08:00 via Android
    uc 看不到图,顺便绘麻好评
    weyou
        24
    weyou  
       2017-07-13 23:59:27 +08:00 via Android
    @autoxbc 快速略过判断条件有点问题吧? 应该 false &&或者 true || 吧,还是我没看懂你的目的
    ditel
        25
    ditel  
       2017-07-14 00:33:56 +08:00 via Android
    第一个基本是写个接口,后面再填
    autoxbc
        26
    autoxbc  
       2017-07-14 00:38:25 +08:00
    @weyou 我写的是常规状态,所谓常规状态就是不影响条件判断,略过状态是调试时快速切换用

    略过判为真
    常规状态 if( false || ... )
    略过状态 if( true || ... )

    略过判为假
    常规状态 if( true && ... )
    略过状态 if( false && ... )
    autoxbc
        27
    autoxbc  
       2017-07-14 00:47:33 +08:00
    @weyou 再写个明显点的

    if(1)
    {...}
    1 => 0 此段被注释掉

    if( 0 || ... )
    0 => 1 此段被判真

    if( 1 && ... )
    1 => 0 此段被判假
    autoxbc
        28
    autoxbc  
       2017-07-14 01:23:23 +08:00
    @weyou 抱歉刷屏,刚发现我们俩的出发点不一样

    你的写法在调试的"冷区"适用,写 true || 就快速判真,不过出调试时略麻烦,需要删除 true ||

    我的写法在"热区"适用,布尔值和逻辑符号就放在那,平时也有,但是不影响逻辑。进调试时只改动布尔值,出调试也只改布尔值,尤其是弱类型语言,0 和 1 切换就行。

    乍一看比较怪异,这样扣题"还有这种操作"。
    e9e499d78f
        29
    e9e499d78f  
       2017-07-14 01:33:54 +08:00
    应该用:

    ///*
    //*/
    Mutoo
        30
    Mutoo  
       2017-07-14 07:21:19 +08:00   ❤️ 1
    两段代码切换:
    //*
    Block-A[run this]
    /*/
    Block-B
    //*/

    删除掉第一个 /
    /*
    Block-A
    /*/
    Block-B[run this]
    //*/
    knight322
        31
    knight322  
       2017-07-14 08:04:57 +08:00
    楼主啊,方法上面好像有注释哦
    cxbig
        32
    cxbig  
       2017-07-14 08:19:53 +08:00
    这些手段常用啊,不过提交之前肯定是完善了的。哪怕留白,或因分工需要交给其他人做,一定会写 todo。
    owt5008137
        33
    owt5008137  
       2017-07-14 08:43:45 +08:00 via Android
    @cod c++有时候也这么写,还有时候用#if 0 和#if 1 的
    hao3721
        34
    hao3721  
       2017-07-14 09:19:32 +08:00
    少见多怪
    sonyxperia
        35
    sonyxperia  
       2017-07-14 09:21:02 +08:00
    lxy
        36
    lxy  
       2017-07-14 09:40:36 +08:00
    第一个至少留注释 TODO,第二个至少留个调试变量 if(DEBUG)
    kary1
        37
    kary1  
       2017-07-14 09:50:20 +08:00
    预留的吧,具体实现还没有来得及写
    ikaros
        38
    ikaros  
       2017-07-14 09:53:43 +08:00
    第一个我就经常这么写的..........
    主要是为了在规划结构的时候,决定哪些函数该做什么, 把所有的函数和结构都规划好之后再写里面的逻辑

    第二个不会这么写
    timi
        39
    timi  
       2017-07-14 10:08:36 +08:00
    = = 经常这么写,虽然不好看,但是好歹调试起来顺手顺心就好了
    crackhopper
        40
    crackhopper  
       2017-07-14 10:13:53 +08:00
    第一个没毛病,第二个有毛病。如果需要判断,应该写成具体的函数,然后用 1 的方式预留一下;如果只是 debug 的话,注释掉明显更好。加减注释只是快键一下就 OK 了;如果是测试的话,应该写到单元测试里去。
    foursking
        41
    foursking  
       2017-07-14 10:14:21 +08:00
    看在是妹子的头像,我就不吐槽了啊
    lommo
        42
    lommo  
       2017-07-14 10:19:47 +08:00
    我不看评论,还以为要吐槽花括号的开始位置呢。
    Quaintjade
        43
    Quaintjade  
       2017-07-14 10:28:27 +08:00
    很正常,先搭好框架再实现功能,不然你得全写完才能测试
    不过一般会写一行注释标明待实现。暂时用不到的功能可以抛 System.NotImplementedException 避免坑他人。
    AlisaDestiny
        44
    AlisaDestiny  
       2017-07-14 11:25:26 +08:00
    @kamen save 方法上是有注释的。只是楼主截图不完整。
    af463419014
        45
    af463419014  
       2017-07-14 11:55:50 +08:00
    Lonely
        46
    Lonely  
       2017-07-14 12:07:10 +08:00 via iPhone
    @af463419014 厉害了
    weyou
        47
    weyou  
       2017-07-17 11:34:32 +08:00
    @autoxbc 明白你的意思了, 其实我们讲的是一个东西。删不删除调试逻辑只是个人喜好而已
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:56 · PVG 05:56 · LAX 13:56 · JFK 16:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.