给项目代码埋坑有哪些办法?

2023-09-22 01:37:36 +08:00
 shmilypeter

如何在项目中埋当时不会发作,离开了一两个月之后会逐渐发作并且还很难排查的 bug 呢?

初步想到几个

后端

数据库

欢迎各位 V2EXer 补充,仅仅用作技术探讨,于此同时也可以避免 bug

12426 次点击
所在节点    Java
166 条回复
lonenol
2023-09-22 14:17:30 +08:00
多写点设计模式。。。
lsry
2023-09-22 14:18:24 +08:00
提高時間,空間複雜度吧,多調用幾次 RPC
c2const
2023-09-22 14:22:51 +08:00
不要菜,要秀起来,一样可以埋坑,只从语法上说说:
0.尽情的秀语法就行了。
1.如果是 C/C++代码,可以写汇编 shellcode ,比如把部分代码写成汇编,再把汇报的二进制转成 16 进制的字符串,然后 C/C++直接写死去调用就行 :)
2.如果是 C++,可以用模板,正经用就是泛型,不正经用就是元编程天书,而且它是图灵完备的,所以它可以各种嵌套、递归函数,甚至创造一门新语言都可以,学习成本也不太高,好处是除了写的时候,事后自己也不知道写的是啥 :)
3.如果是 java 语言,了解不多,可能比较片面。第一是可以考虑动态修改字节码,大概类似 shellcode 一样;第二是多用 Function 相关类的方法引用,大概类似 C 系的函数指针?传参数全部传函数指针就行了,各种回调,反正正经的参数一个都别传:)
ryalu
2023-09-22 14:27:29 +08:00
@yeccc #50 前两周差点因为这个删库,还好数据量较大耗时长才及时发现挽救了回来😨
maybedk
2023-09-22 14:28:48 +08:00
@thinkm #58 让我想到个电影《波斯语课》。用所有同事的名字当变量名哈哈哈。
anzu
2023-09-22 14:32:31 +08:00
不建议这么做。
想起来遇到过 2 个比较难排查的 bug 。一是边界条件的处理上有问题,极少情况下输入的极值导致错误。二是某些资源用完了不释放内存,一直积累很长时间后才 OOM 。
fcoo
2023-09-22 14:38:12 +08:00
如果故意这么做,感觉就人品有问题了,这样路会越走越窄
lambda6
2023-09-22 14:38:54 +08:00
多用门槛高的新技术,多弄点自定义类,多抽象,多引用,关系搞得极其复杂,但是毫无扩展性。
多用缓存,本地数据库,服务器多个不同的数据,要保证同步,保证互相依赖。
不说了,正在维护这样的代码。
zmcity
2023-09-22 14:44:32 +08:00
@c2const c++我再补充点,多用点新特性,coroutine ,ranges ,concept 。标准库缺少的功能自己用运算符重载实现一下,初学者写起来跟鬼画符一样。
Enzoliu
2023-09-22 15:04:10 +08:00
不写注释只写代码就是最大的坑
若干月后自己都不认识那段代码
它还在线上平稳的跑着,没人敢去动
THESDZ
2023-09-22 15:07:55 +08:00
多用魔法值,使用 map 等弱引用的方式引用全局配置
flag 用 UInt8 然后位运算读和解(不分装方法,用到哪写到哪)
qping
2023-09-22 15:08:00 +08:00
你这太明显了,只要把代码架构设计的一层套一层,套 8 层以上,互相依赖,后面不招高手你的代码就改不动
visper
2023-09-22 15:09:01 +08:00
把你想象中的架构尽量设计成你差不多能理解的极限。那么他就会有很多奇怪的 bug 在里面。
x86
2023-09-22 15:11:32 +08:00
认真写就行了,自然会又大坑
lakehylia
2023-09-22 15:12:13 +08:00
正常发挥就行
string2020
2023-09-22 15:16:40 +08:00
就和打游戏一样。你菜到认真打 比 你想恶心队友 送的都快。有什么好想的。
对你这种彩笔,尽最大努力写好代码。就能埋你自己都不知道的坑。
zpf124
2023-09-22 15:19:58 +08:00
人心险恶, 这种报复社会的大多数时候只能坑害了其它打工人。

而且这是个楼主是没工作呢? 还是不是正经搞开发了。

正常开发你只要按照一个外包或者是混日子人的工作心态干活就已经可以留足够多的坑了。
什么国产一键式框架,傻瓜式类库都引入一遍, 写代码不考虑风格和性能,写一大坨难以修改和梳理的屎山,写的功能以能跑就行为目标,做到这些就已经能让这个项目全是坑了。
8355
2023-09-22 15:59:51 +08:00
你坑的只有留下的同事和跟你交接的人,你所谓的项目经理会改一行代码嘛?
要么你正面硬刚,你这样干真没必要。
easyalarm
2023-09-22 16:10:44 +08:00
看到这个标题还是很震惊的,不要让一时的魔鬼冲动定义你的人生。
middle2000
2023-09-22 16:13:43 +08:00
设置大于某个时间就固定触发某个 BUG

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

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

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

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

© 2021 V2EX