如何把代码写的让其他人无法接手,令人匪夷所思? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qwer123
V2EX    问与答

如何把代码写的让其他人无法接手,令人匪夷所思?

  •  
  •   qwer123 2020-04-13 20:39:46 +08:00 3321 次点击
    这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。

    除了代码混淆以外呢?

    27 条回复    2020-04-14 16:45:04 +08:00
    noqwerty
        1
    noqwerty  
       2020-04-13 20:40:33 +08:00 via Android   11
    自信点,正常写可能 80%以上的人都接不了手
    ufan0
        2
    ufan0  
       2020-04-13 20:45:27 +08:00 via Android
    多看代码整洁之道,然后反着来。
    huayumo
        4
    huayumo  
       2020-04-13 20:52:14 +08:00   1
    不给注释,没文档的就可以了
    soulzz
        5
    soulzz  
       2020-04-13 21:31:04 +08:00
    多用 bean 反射 以及全局 getBean setBean 之类的
    接受你代码的人估计想哭
    编辑器跟代码都跟不到
    zvcs
        6
    zvcs  
       2020-04-13 21:37:35 +08:00 via iPhone
    你正常写就好。这个话题讨论过。
    jin7
        7
    jin7  
       2020-04-13 21:39:04 +08:00
    正常写好 然后编译器混淆 自己也看不懂了 哈哈
    1490213
        8
    1490213  
       2020-04-13 22:03:40 +08:00 via Android
    用你正常的水平,写 C++ 代码完成需求即可。
    wu67
        9
    wu67  
       2020-04-13 22:04:33 +08:00
    不写注释就行了. 大部分人都会哭. 然后变量名都只用一个单词, 需要的时候***1 ***2 这样, 接手的人多半崩溃
    chihiro2014
        10
    chihiro2014  
       2020-04-13 22:06:17 +08:00
    跟正常人反着写就行,不写注释,用上各种高级特性,让人无从下手
    mtf
        11
    mtf  
       2020-04-13 22:25:48 +08:00 via Android
    变量名参数名全都是单个字母
    GoLand
        12
    GoLand  
       2020-04-13 22:31:59 +08:00
    变量名全部用中文拼音首字母缩写,比如:
    金额 -> je
    账单 -> zd
    回到顶部 -> hddb
    libasten
        13
    libasten  
       2020-04-13 23:03:17 +08:00 via Android   1
    @GoLand
    以前公司有人中英双语的,还不统一

    项目对象 xmObj
    人员对象 ryItem

    哈哈
    dddd1919
        14
    dddd1919  
       2020-04-13 23:07:06 +08:00
    如果你很菜,再怎么努力也是徒劳
    learningman
        15
    learningman  
       2020-04-13 23:10:47 +08:00 via Android
    @GoLand 大学生上网课用的学习通用的就是一套完全由拼音构成的前端,部分由英语加拼音首字母构成。
    IsA26hN4DcQDS7Z9
        16
    IsA26hN4DcQDS7Z9  
       2020-04-13 23:12:10 +08:00
    变量名随机生成
    szdubinbin
        17
    szdubinbin  
       2020-04-14 00:21:40 +08:00   2
    我见过一个答复很搞笑的,“代码更新了,注释没有更新”, 但是我还是劝你善良哈哈
    Cryse
        18
    Cryse  
       2020-04-14 00:23:24 +08:00
    @GoLand
    惊了,以前有个别人写的项目需要补文档就是这样,我们一群人里就一个参与过项目的人能搞懂这些拼音首字母缩写,好多地方不问他搞不清...
    2kCS5c0b0ITXE5k2
        19
    2kCS5c0b0ITXE5k2  
       2020-04-14 00:26:19 +08:00
    @GoLand 草我接手的就是这样。 然后 if 还全挤在一行。空格完全不打。我直接全部重写了。
    May725
        20
    May725  
       2020-04-14 01:15:09 +08:00
    正常写,完成后用 ide 再将变量名重构为不相干的东西,魔鬼数字等。
    wdv2ly
        21
    wdv2ly  
       2020-04-14 07:53:12 +08:00 via Android
    这个不难,难的是如何在这个前提下,自己还能看得懂
    sonxzjw
        22
    sonxzjw  
       2020-04-14 08:46:47 +08:00
    所有命名用无意义无序复杂的字符串,我遇到过,一手下写的 html

    完全崩溃
    sonxzjw
        23
    sonxzjw  
       2020-04-14 09:03:45 +08:00
    @orzorzorzorz 不得不说,里面好一些的建议真的需要智慧才能做到,真心的。例如越久才能发现的 bug
    Meltdown
        24
    Meltdown  
       2020-04-14 09:11:55 +08:00 via Android
    写几千上万行的函数,然后不给注释和文档
    zsc8917zsc
        25
    zsc8917zsc  
       2020-04-14 09:23:59 +08:00
    代码写多整洁都没关系,只要注释反着写,不怕别人敢接手
    christin
        26
    christin  
       2020-04-14 11:29:55 +08:00 via iPhone
    变量名从 a1 到 a100,只写一个函数。
    nnnToTnnn
        27
    nnnToTnnn  
       2020-04-14 16:45:04 +08:00
    ```
    如何把代码写的让其他人无法接手,令人匪夷所思?
    ```

    我就喜欢挑战,看别人无法接手的项目,慢慢排查,最后下断点调试,看参数返回值,最后 hook 修改代码。

    如果是 java,在没源码的情况下改 class 字节码都做过,你确定会混淆比字节码还难读?与其想着怎么让别人无法接受,还不如想着怎么才能把代码写的清晰易懂,例如多用用语法糖,把代码写的简单舒适
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2656 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:55 PVG 22:55 LAX 07:55 JFK 10:55
    Do have faith in what you're doing.
    ubao msn 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