吐槽下最近接手一个项目的代码,还有这种操作? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Nagisa1992
V2EX    程序员

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

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

    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     Solana     984 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:42 PVG 06:42 LAX 15:42 JFK 18:42
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86