逻辑清晰的代码能做成一坨大便的样子吗

4 天前
nb85144  nb85144
比如写了一段干净的代码,但不想让别人轻易读懂的时候,有什么工具能把它做成一坨的样子吗
之前我会手动替换变量名,效果有限
6832 次点击
所在节点   程序员  程序员
65 条回复
CEBBCAT
CEBBCAT
4 天前
@Livid 似乎不是很符合 V2EX 的价值观
jobscolin
jobscolin
4 天前
只要不写注释,迭代两个版本,你自己都觉得是屎山了
qwertyzzz
qwertyzzz
4 天前
@CEBBCAT 价值观是啥。
InkStone
InkStone
4 天前
让 AI 写。今天 Cursor 刚给我改了一个一千五百行代码的屎山出来。我感觉我自己写的话应该不会超过五百行……
lyer5
lyer5
4 天前
现在混淆代码靠 AI 解释也能很快理解了吧
zmcity
zmcity
4 天前
多用点高级编程技巧,对于不懂的人,它就是一坨
dna1982
dna1982
4 天前
把所有变量都写成全局的,谁看谁骂街。
olaloong
olaloong
4 天前
没啥意义,太长的混乱的代码直接让 AI 先看了,通义灵码插件写代码不行读代码还是很厉害的,点一下就像也很方便
qq78660651
qq78660651
4 天前
没有用的,你再混淆,现在的 AI 都看懂,你 jsvmp 代码丢进去,AI 都能给你分析出每个变量什么作用;每个功能块在干什么。
Esec
Esec
4 天前
偶尔主动偷偷加班,脑子不清晰的时候能写出自己也看不懂,但是能用的垃圾代码
sleepybear1113
sleepybear1113
4 天前
没必要特殊混淆,不然怕过不了 code review 。

正常写,然后变量名故意用错拼/乱拼,换别的关系不大的名字,比如物品价格,类似 item_price ,改成 goods_amuont ,主打文不对题。然后注释写物品量,再次主打文不对题。

如果是能用推断型的定义就用,比如 Java 的 var a = xxx.getItem(),主打不知道 var 了什么东西。然后变量和用的地方远离,Steam 和非 Steam 混用,多用数组来回倒腾数据,比如起名 needDeleteList 里面放 needAddItems 。函数入参越多越好,整上一坨方法的重写,函数套深一点,函数名也写得文不对题。

上面的写法过 code review 应该问题不大。再混淆下去那不一定过得了。
particlec
particlec
4 天前
设计巧妙!!! 越巧妙后期越一坨,让 ai 重写,重点要 巧妙深化
liuidetmks
liuidetmks
4 天前
别把代码当一回事啦,
基本都重写,反正都是边角料功能
ywlvs
ywlvs
4 天前
学到了,还有防御性编程
xuanbg
xuanbg
4 天前
笑死人了,你自认逻辑清晰没用,最好找个不熟悉相关业务逻辑的人来看一下,看他能不能读懂就完了。

反正我自己写的一段业务相对复杂的代码,写的时候单元测试一跑一个异常退出,好几种特殊情况没有进预期的分支。。。好不容易跑通了,隔了两天自己就看不懂了。
cookii
cookii
3 天前
写长没用,要写散,用事件分发逻辑,把业务逻辑写散,慢慢就没人懂了。
Hopetree
Hopetree
3 天前
一个函数上千行,或者一个函数两三行,不停的函数调用...想想就可怕
YVAN7123
YVAN7123
3 天前
去学一下设计模式, 学两天你想着都用在你代码上, 一段代码给它用个五六个设计模式
main1234
3 天前
要求项目重构
1.拆成 V2 版本,V2 重构到一半想个理由无法推进,项目同时保留 V1 V2
2.拆成 V3 版本,V3 重构到一半想个理由无法推进,项目同时保留 V1 V2 V3
cocong
3 天前
屎山是熵增定律,只要你不刻意优化代码,慢慢都会变成屎山,无非快慢而已。另外不要觉得对别人屎山是个障碍,只要输入输出明确,分分钟把屎山重构,所以没有必要。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1119208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX