• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Nagisa1992
V2EX  ›  程序员

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

  •  
  •   Nagisa1992 · Jul 13, 2017 · 9155 views
    This topic created in 3399 days ago, the information mentioned may be changed or developed.

    Markdown

    这 save 还能更快点吗?

    Markdown

    47 replies  •  2017-07-17 11:34:32 +08:00
    knva
    knva
    Jul 13, 2017
    1
    没准是测试代码呢.
    Famio
    Famio
    Jul 13, 2017
    2
    function clean_cache()
    {
    alert("缓存清除成功!")
    }

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

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

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

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

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

    略过判为假
    常规状态 if( true && ... )
    略过状态 if( false && ... )
    autoxbc
    autoxbc
    Jul 14, 2017
    27
    @weyou 再写个明显点的

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

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

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

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

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

    乍一看比较怪异,这样扣题"还有这种操作"。
    e9e499d78f
    e9e499d78f
    Jul 14, 2017
    29
    应该用:

    ///*
    //*/
    Mutoo
    Mutoo
    Jul 14, 2017❤️1
    30
    两段代码切换:
    //*
    Block-A[run this]
    /*/
    Block-B
    //*/

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

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