首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

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

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

    Markdown

    这 save 还能更快点吗?

    Markdown

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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