如何让代码变得很难让别人接手

讨论 未结 100 47
cherryas
cherryas 会员 2022年5月25日 01:26 发表
<p>坐标上海,某传统小微型企业初级 python 开发岗,本来居家办公还天天 996 ,并且分配了更大的工作量,现在通知只发上海基本工资,打算 run 了,但是不甘心被白嫖这么多代码。 所以打算对代码进行“加密” 但是不能通过有风险方法进行加密,比如把代码进行混淆,加密功能模块等等。 想把代码改成只有高级开发才能看得懂,增加公司接手的用工成本。 请问有什么办法?</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
100个回复
  • chendy
    2022年5月25日 01:26
    有这功夫多看点书多刷点题 事情搞大了以后谁还敢招你
    0 0
  • eote
    2022年5月25日 01:26
    有 vcs 干啥都不好使
    0 0
  • cherryas
    2022年5月25日 01:26
    我没想搞破坏啊,也写了不打算用混淆等方式。 1 楼那个链接那种我不会用的。 主要目的是写出初级开发看不懂,高级开发能看懂那种。
    0 0
  • cangcang
    2022年5月25日 01:26
    小微企业。只需要完全按大厂的标准走,你的代码就无人可以维护。
    0 0
  • qq73666
    2022年5月25日 01:26
    这么闲?不如捡俩瓶子卖钱
    0 0
  • cherryas
    2022年5月25日 01:26
    补充:本人不想搞破坏, 只想用常规的代码,加高级框架或者其他技术使接手的初级 python 玩不转就行。
    0 0
  • potatowish
    2022年5月25日 01:26
    雀食,有 vcs 直接回退,除非你刚开始就这么干
    0 0
  • zhangshine
    2022年5月25日 01:26
    没必要,你现在写的后面人接手也可能很困难😂
    0 0
  • xiaofeifei8
    2022年5月25日 01:26
    直接走人就完事了,何必整的这么麻烦,现在很多企业也是很艰难,大厂也都在裁员。至于你说企业在白嫖你的代码这个观点真不能认同。
    0 0
  • whenov
    2022年5月25日 01:26
    上函数式,上递归,上装饰器,上 C extension
    0 0
  • cherryas
    2022年5月25日 01:26
    所以我没打算破坏,一楼那种我不会用的,只打算用高级语法和框架让初级开发看不懂就行。
    0 0
  • yfugibr
    2022年5月25日 01:55
    不写注释,函数 /变量名 abcd ,基本就没人能看懂了
    0 0
  • luffy
    2022年5月25日 01:55
    打工人何必为难打工人了? 下一个接手的打工人就要变成 007 了。 老板会说,上一个打工人一天能干完的,怎么现在要变成 2 天了。不行不行,搞成 007 吧,之前一天能搞定的,不能因为代码更乱了,就变成 2 天。 所以老板不会是受害者,最惨的是下一个接手的。 还有,如果真想把代码搞乱,那不是很简单的一件事嘛? 多搞几个循环,全局变量多写一些,变量名随便乱写。方法多得是啊,但是不建议。
    0 0
  • cherryas
    2022年5月25日 01:55
    这个属于加密功能模块了。 我不算这么做。也不打算写的乱七八糟。
    0 0
  • debuggeeker
    2022年5月25日 01:55
    你现在是初中级,怎么写出高级开发的代码呢~~
    0 0
  • cherryas
    2022年5月25日 01:55
    补充:我的目的不是要搞破坏,而且加密必须骗过继任者,继任者认为代码没有加密 即实现:接任者看到代码遇到看不懂的时候不会骂代码加密了, 而是认为自己太菜了,才看不懂的。
    0 0
  • c1273082756
    2022年5月25日 01:55
    如果按楼主这样玩, 下一个接手的估计第二天就润了, 不太可能出现 007 的情况
    0 0
  • NewYear
    2022年5月25日 01:55
    把项目升级到你用的语言的最新版本,然后各种语法糖全部用起来,各种骚操作用起来。 对新人来说,你的项目是一个教科书式的项目,高手可能会感慨“我擦,你居然拿降龙十八掌对付一个 18 线宗门的外门实习弟子,简直太骚了!”。 还可以加入一些上古时代留下来的神奇语法。 然后你的项目不管是对自己还是对别人都是一种历练,让人脱胎换骨。
    0 0
  • cherryas
    2022年5月25日 01:55
    补充:接手者必须认为代码没有任何恶意增加复杂度和增加难以阅读的行为。
    0 0
  • dcsuibian
    2022年5月25日 01:55
    有没有这么一种可能,等你到了一个新公司,参与了别人的项目,发现之前的开发者也是这么想的?
    0 0
  • zt52875287
    2022年5月25日 01:55
    打工人何苦为难打工人,你觉得公司坑,就在脉脉之类的论坛上多吐槽吐槽呗。 你以为你在合法的情况下恶心了公司,其实老板丝毫不在意(毕竟你没有真正的加密、混淆)
    0 0
  • polobug
    2022年5月25日 01:55
    。。你这想损公司。。其实损不到。。苦逼的是新入职的小哥哥。
    0 0
  • cherryas
    2022年5月25日 01:55
    老板不在意我不管,自己爽就行了。
    0 0
  • lyusantu
    2022年5月25日 01:55
    说的好像你现在写出来的代码初级开发就看得懂一样..
    0 0
  • 13936
    2022年5月25日 01:55
    你以为为难的是公司和老板。其实只是恶心了另外一个和你犯不着调的人。他可能和你一样,忙于工作而且要应付各种来自房贷租金的压力,打工当牛马还因为这出不得 007 。伤害你的不是他,为何你要把伤害转嫁给他。和坐电梯里面把每一层楼都按了用来恶心人的乐色人又有什么差别呢。 1. 屎山代码只要能用就有人能够用上。你这样做只会浪费你的时间而且报复错对象。 2.如果你的报复对象是公司和老板,麻烦走各种举报途径或者当面对质。可我知道大概率你也不敢,只能欺负另外一个和你一样手无寸铁的人,而且是一个比你更软弱更手无寸铁的人,向更弱者。 恕我直言,你的做法很不明智,并且很 low 。
    0 0
  • llh880808
    2022年5月25日 01:55
    损人不利己,甚至还要花时间改造以前的代码,应该是损人损己
    0 0
  • zhaokun
    2022年5月25日 01:55
    真的没必要,真想搞,我建议变量从 v1 - v100 就已经很难读了
    0 0
  • cherryas
    2022年5月25日 01:55
    我的标题没起好而已,实际上我只是打算写点高级代码, 没有任何实质破坏。 一楼歪楼之后风向就变了。
    0 0
  • zt52875287
    2022年5月25日 01:55
    作为一个 programmer ,保证自己的代码,在给定时间内尽量做到最好,这难道不是职业道德吗? 公司坑你可以在论坛上吐槽、可以离职啊,这不是你摆烂的理由。
    0 0
  • hello2090
    2022年5月25日 01:55
    能问出这种问题的,一般写的代码本身就不太好懂了,吧
    0 0
  • cherryas
    2022年5月25日 01:55
    我又没加密和任何混淆,想增加一点高级框架而已,何来破坏一说?
    0 0
  • xuanbg
    2022年5月25日 01:55
    其实我觉得 OP 你想多了。。。但你真要这么干的话,我的建议是给他来个十七八层的继承就好。当然,你还可以把毫不相干的两个类拆开来再套在一起相互继承着玩。 so……继承就是 OOP 中最垃圾的一个特性。
    0 0
  • Issuema
    2022年5月25日 01:55
    我还以为国内环境才有这种互害风气,大闸种不分国籍啊
    0 0
  • mzfbwu
    2022年5月25日 01:55
    你以为你在折磨白嫖你的老板,其实不过是在折磨下一位可怜的打工人。
    0 0
  • chuckzhou
    2022年5月25日 01:55
    服了这些出主意的码农,万一自己成了接盘侠呢,都是有智商的人,还搞这种自掘坟墓的事,服了。
    0 0
  • chengkai1853
    2022年5月25日 01:55
    有这时间不如好好去找找工作。有什么怨念就去面谈,不满就尽早走,公司又没捆着你拉磨。 就想着背地使坏,此念一出,以后还会有人敢给你推荐工作? 话说,竟然还有人真帮他还出谋划策!
    0 0
  • wuxinling
    2022年5月25日 01:55
    在写的时候学习一些新的框架工具啊,一般不熟悉的东西写出来都挺难接手的。
    0 0
  • d119
    2022年5月25日 01:55
    这还不简单,多写几个 if...else ,写成一坨翔,别人可能不愿意接了,但是可能会重新找个人重构
    0 0
  • lujiaosama
    2022年5月25日 01:55
    你可以试试函数式编程, 然后水平不够写的函数有副作用, 心智负担巨大. 高级, 低级, 自己都折磨到了, nice
    0 0
  • villivateur
    2022年5月25日 01:55
    删掉所有注释,然后找一份代码编写规范,所有的注意事项都反着来即可
    0 0
  • wuxinling
    2022年5月25日 01:55
    但是我觉得,很有可能你犹豫了一下,没跑,半年后:谁写的屎山代码?噢,我自己啊,没事了。
    0 0
  • sillyB
    2022年5月25日 01:55
    阿 Q 就是这样,不敢反抗真正的毒瘤,反而对迫害另一个贫苦阶层沾沾自喜
    0 0
  • cat9life
    2022年5月25日 02:25
    "打算 run 了" "我还真没打算跑" 不懂..
    0 0
  • 456789
    2022年5月25日 02:25
    这事找你们产品,做几个恶心需求,集合类+各种变量命名随便 起几个保证让下一个看到的味同吃屎
    0 0
  • Nachtblut
    2022年5月25日 02:25
    你只能难受到下一个打工人,公司很可能安然无恙。
    0 0
  • xFrye
    2022年5月25日 02:25
    快进到 op 写下一个帖子: 「入职新公司,前任留下来的无文档屎山难以下手,我该不该提桶跑路?」
    0 0
  • zamaojava
    2022年5月25日 02:25
    公司先反思下人品?人家帮你反抗,你却在这当工贼呢?
    0 0
  • ClorisYe
    2022年5月25日 02:55
    你这有点违背常理,你处于初级水平,却想把玩初级水平的人,那你岂不是不是低级水平?建议,按自己的见解命名(比如拼音),不需要封装的就不要封装,别写任何注释。最重要是有意而为之地多用、滥用设计模式。
    0 0
  • yangehappy
    2022年5月25日 02:55
    你工作期间写的代码从产权上来说都属于公司,为什么说不想公司白嫖代码?
    0 0
  • cherryas
    2022年5月25日 02:55
    我自认中高级水平,而且不想搞任何破坏。这是根本原则。
    0 0
  • ClorisYe
    2022年5月25日 02:55
    最怕就是资本跟老实人讲人品了,都是利益驱动行为。
    0 0
  • olaloong
    2022年5月25日 02:55
    抽象,封装,过度设计 只要套的足够深,隔阵子自己都很难接手的,而且也不会被认为“恶意”
    0 0
  • fuchish112
    2022年5月25日 02:55
    1. 变量名,必须几种风格轮流着用,或者随心所欲,或者指鹿为马 2. 必须没有代码风格,怎么乱怎么来 3. 必须没有注释,必要时添加混乱注释 4.必须一行写到底,最好一个文件,上万行 5.必须没有文档,有也要删除 --------- 下一个接手的,心里骂娘就不关我的事了
    0 0
  • bluesenzhu
    2022年5月25日 02:55
    说的好。如果对公司有意见,光明正大直接找老板说清楚
    0 0
  • prenwang
    2022年5月25日 02:55
    现在的年轻人都怎么啦, 现在的社会都怎么啦, 都变得这么自私了。 这种事情做了一次, 就会有下一次,下一次 ... , 人就是这样把自己毁掉的。 在其位谋其职, 本职工作做好, 实在做不下去, 就自己去干, 以后灵活就业会变得普遍, 与其这样自毁前程不如早做打算。 多动一动, 看看外面的世界,人的眼界小了, 心胸也会变小。
    0 0
  • zeevin
    2022年5月25日 02:55
    你再额外花时间搞这些不是更不划算吗
    0 0
  • jerome233
    2022年5月25日 02:55
    有个思路: 1.高度简化上层的业务代码,抽离共性的逻辑封装到底层组件,尽最大努力的隐藏实现逻辑并对外暴露低门槛的 api 2.底层的基类封装多用 Python 的元编程特性,充斥着大量的 dunder methods 、variables ,在实例,类的构建过程添砖加瓦 3.利用 Python 的协议,重写协议的 api ,自己封装一套抽象基类在业务中用,各种特性可以相互再混杂一下,充分发挥多态的威力 4.人性化点就封装到 project 的 package 层次,折腾点的话就封装到 requirement 的 site-packages 去 ... 这些要想做到,前提是自己得有那个水平,封装的同时还得保证灵活性,不然到头来把握不住,后期接需求时首先蛋碎的就是自己了 🙈
    0 0
  • haha512
    2022年5月25日 02:55
    1. 变量、函数、类、文件 命名全部使用 拼音简写加数字,比如 zxrdsj1 等 2. 杜绝复用代码,只要有一行变动的地方,也复制下重新写个函数 做好这两点,哪怕高级开发也足够头疼,而且还完全合规合法
    0 0
  • wu67
    2022年5月25日 02:55
    讲真, 不写注释的代码就很难读懂了. 根本不用刻意改. 然后组件、公用方法直接放弃治疗, 不做设计或者过度设计, 直接能让维护难度指数递增.
    0 0
  • zitengdu
    2022年5月25日 02:55
    活久见,还找其他人支招,我也是服了。都像你这样的心理,这些 ElasticStack 、TypeScript 的工程就不会出现了。
    0 0
  • 13936
    2022年5月25日 02:55
    来吧,我们梳理一下逻辑: 岗位:**初级 python 开放岗** 公司:小微型企业 起因:天天 996 ,工作量很大 楼主想法:准备 run ,自己觉得不甘心自己的代码被**公司**白嫖。**增加公司**接手的用工成本 楼主方法:加框架等等,反正就是不想让**初级 python 开发岗**的人能接手。 楼主发帖:请教如何让代码变得难以接手 V 友回复:楼主缺德,这么做只能陷害下一个打工人,达不到楼主想要反击公司的目的 楼主发言:并没有打算写**非合理性**代码,**不恨公司** 总结: 那么问题来了。 楼主你认为的是代码被公司白嫖,想增加公司成本以减少它的收益。目标都是公司。最后的实现手段是让另外一个打工人难以接手。前文每一个字都在构思如何陷害公司,事情的起因也是因为公司让你 996 并且你认为不符合你的实际付出认为被白嫖,导致想跑路。导致事情的起因和你想要加框架的果都是因公司和你而起。而不是下一个打工人。 当 V 友回复你只能伤害到下一个打工人而伤害不到公司时。楼主又改口说**我不恨公司**,让代码变得难以接手并不属于非合理性代码。既然不属于非合理性代码又何必在你故意恶心人的驱动下白费这么多力气呢,前文处处在写公司被 V 友骂之后又说自己不恨公司。那你狠的是谁?一个从来都不认识你,和你没有任何渊源的打工人? 一会儿认为被公司白嫖要 996 装哭唧唧打工人人设,后文直接来一句**不恨公司**。请问你在闹哪出。公司看了都要哭泣,如此心口不一的人。逻辑学大师直呼开了眼界。你不用改了。你的代码肯定写的不怎么样,一般人也看不懂。
    0 0
  • T0m008
    2022年5月25日 02:55
    就楼主这情商,真把自己当谁了?
    0 0
  • sheeta
    2022年5月25日 02:55
    绝了,我接手的一个代码变量全是 abcdefg,估计是你写的吧 :doge
    0 0
  • Marszm
    2022年5月25日 02:55
    疯狂 if else 。。。真的这个古老的技术,非常有意思。
    0 0
  • yuuko
    2022年5月25日 02:55
    你要改成 TypeScript ,其实是更容易维护了
    0 0
  • shyrock
    2022年5月25日 03:25
    海水退去,什么鬼都出来了。。。 你以前写代码的工资没有足额发给你吗? 怎么就特么白嫖你代码?这逻辑水平,只能说楼上都是对的,你的代码不用混淆也没几个正常人能看懂。
    0 0
  • Marszm
    2022年5月25日 03:25
    还有个招数。。。就是拿一本设计模式,一个个设计模式换着用。。。其实设计模式如果使用的场景不正确,就是巨恶心的玩意。
    0 0
  • whyso
    2022年5月25日 03:25
    #77 说出了我的心声,省的我写了 /dog
    0 0
  • error523
    2022年5月25日 03:25
    多用语法糖这个笔记高级(大众)
    0 0
  • enrolls
    2022年5月25日 03:25
    import 远程模块啊。 或者,学学 dropbox 是这么商业化的
    0 0
  • yl20181003
    2022年5月25日 03:25
    那祝你跳槽后也接手到跟你有同样想法的人留下的代码
    0 0
  • UBcai
    2022年5月25日 03:25
    打工人何苦为难打工人???你这人品是有多低劣?你这样做不就是为难下一个人么?这么看不惯公司,直接冲上去给公司泼粪啊,在不解气直接刀了老板啊。
    0 0
  • geligaoli
    2022年5月25日 03:25
    加框架,加设计模式,少写文档,一般三个月之后,自己就看不懂了
    0 0
  • zhouzm
    2022年5月25日 03:25
    自己写的代码,不写注释,过段时间再看都费劲。
    0 0
  • UBcai
    2022年5月25日 03:25
    越看越气,特别上面一堆出主意的,真心祝愿上面出主意的每一个人以后接手的代码全是贴主这种人品低劣,毫无职业道德的人写的各种坑的狗屎代码。
    0 0
  • ThinkCat
    2022年5月25日 03:25
    加设计模式,硬套,最好套一些那种能用,但是明显不适合,必须花大力气才能套上去的那种
    0 0
  • bl
    2022年5月25日 03:25
    代码不值钱其实,值钱的业务。
    0 0
  • HeyWeGo
    2022年5月25日 03:25
    楼主不需要 append 了,也不需要反复强调目的是为了增加复杂度,让程序看不懂,但不影响运行。 无论是哪一种,最终影响的不是老板就是了。
    0 0
  • abersheeran
    2022年5月25日 03:25
    用 提供的语法糖把项目部分或全部重写。
    0 0
  • fcfangcc
    2022年5月25日 03:25
    很简单,python 写类型注释,然后和返回的类型不一致;
    0 0