怎么在不恶心自己的情况下进行防御性编程 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
fallen42
V2EX    程序员

怎么在不恶心自己的情况下进行防御性编程

  fallen42 2024-07-24 16:11:06 +08:00 9866 次点击
这是一个创建于 445 天前的主题,其中的信息可能已经有所发展或是发生改变。

虽然现在每天的工作就是在屎山上找个地方拉坨大的,但至少遵循代码规范的情况下拉的很美观很直观(笑 现在裁员压力大啊,但防御性编程我真的写不出会让自己恶心的东西

84 条回复    2024-07-31 11:43:17 +08:00
DiaoWang
    1
DiaoWang  
   2024-07-24 16:19:29 +08:00 via iPhone   1
如果你觉得恶心,那就不要做。恶心别人可以,别恶心自己。
wu67
    2
wu67  
   2024-07-24 16:23:48 +08:00   8
对大部分人来说, 不刻意去优化逻辑、拆分组件, 最后写出来一定是屎. 都不用特地做什么操作.
94
    3
94  
   2024-07-24 16:28:56 +08:00   17
不用防御性编程。你以为的自己业务写的其他人看不懂无法维护,裁员就不会落到你头上。
实际上除了恶心自己和接盘侠之外并不能影响到领导决定是不是裁掉你。最后还得因为自己防御性编码,写交接文档挠破头。
echo1937
    4
echo1937  
   2024-07-24 16:30:51 +08:00   2
只要你怎么舒服怎么来,不写文档不写注释,时间一过三个月,他肯定就是屎。
wuud
    5
wuud  
   2024-07-24 16:49:09 +08:00
@echo1937 哈哈哈,太真实了
wysnxzm
    6
wysnxzm  
   2024-07-24 16:51:03 +08:00   2
正常写就可以
opengps
    7
opengps  
   2024-07-24 16:51:59 +08:00
你对你能写出规范代码是不是太自信了?很多时候规范代码拿鞭子抽着都写不规范
maxwellz
    8
maxwellz  
   2024-07-24 17:14:03 +08:00   1
op 这句话把我逗笑了,哈哈哈
`虽然现在每天的工作就是在屎山上找个地方拉坨大的`
ktqFDx9m2Bvfq3y4
    9
ktqFDx9m2Bvfq3y4  
   2024-07-24 17:15:14 +08:00 via iPhone
copilot 可解。
Daniel17
    10
Daniel17  
   2024-07-24 17:16:24 +08:00
防御性编程没什么用
tool2dx
    11
tool2dx  
   2024-07-24 17:22:38 +08:00
把反编译/混淆的源代码丢上去就可以了,同样是源代码,但基本上除了你自己,别人没法改。
usVexMownCzar
    12
usVexMownCzar  
   2024-07-24 17:23:04 +08:00
拉不出来,让 AI 拉,比自己拉的好看点
Vitumoc
    13
Vitumoc  
   2024-07-24 17:34:48 +08:00
真的有 "因为代码写的规范,导致容易被接手,导致被开出" 这样的案例吗?
我严重怀疑这个逻辑链的真实性。
wanguorui123
    14
wanguorui123  
   2024-07-24 17:38:05 +08:00
你这逻辑好比刚需自住不亏
zzNaLOGIC
    15
zzNaLOGIC  
   2024-07-24 17:48:08 +08:00
"领导,这块我来设计、开发和后续维护就行了,其他人抽出去支援其他项目吧。我一个人能顶住"
sakeven
    16
sakeven  
   2024-07-24 17:51:42 +08:00   28
这不叫防御性编程,都被你们用烂了。防御性编程是用来抵御不确定的错误与有风险输入之类的,是一种非常好的编程实践。

你这个只能叫防裁员编程。
murmur
    17
murmur  
   2024-07-24 17:58:01 +08:00
正常写的代码过半年你都看不懂
micao
    18
micao  
   2024-07-24 21:09:27 +08:00   1
写一个功能和代码量极其大的函数,保罗万象。输入参数变量放在一个大数组里,各个参数毫无相关性,如果是若类型语言,不声明变量类型,并且使用隐性的类型强制转换。够屎了吧。
happy32199
    19
happy32199  
   2024-07-24 23:26:30 +08:00 via Android
微服务 哈哈
Cooky
    20
Cooky  
   2024-07-24 23:30:16 +08:00
嵌个 lisp 脚本进去,既能学学 lisp ,又能折磨读代码的人(
afxcn
    21
afxcn  
   2024-07-24 23:34:34 +08:00   1
防裁员编程没有意义,要写出简单易懂、容易维护的代码本身就不容易,我们通过多年的实践认识了一个道理,就算你把代码写得多规范,多简单易懂,别人也不愿意维护,也是想方设法重做。
fkdtz
    22
fkdtz  
   2024-07-24 23:42:16 +08:00
我以为“防御性编程”只是一个梗,难道真的有人这么写吗?
passive
    23
passive  
   2024-07-24 23:43:40 +08:00 via Android
领导:把他裁了换个人来重构。
X0V0X
    24
X0V0X  
   2024-07-25 00:38:52 +08:00 via iPhone
按我的逻辑不遵守团队规范的,有裁员名额第一个推出去
forvvvv123
    25
forvvvv123  
   2024-07-25 00:57:39 +08:00
没事,瞎写就行,你又不是什么大负责人;
有那精力给自己的项目或者开源项目搞搞不香吗;

除非大家瞎写你又要负责系统可用性,然后系统真的因为大家都瞎写反复挂的时候,你再考虑怎么定定规范,搞搞 ci 流程之类的, 没到这一步不用想。
mohumohu
    26
mohumohu  
   2024-07-25 01:57:09 +08:00
防御性编程有时也被计算机科学家称为安全编程( Secure programming )。潜在的软件缺陷可能会被黑客利用,而进行代码注入,拒绝服务攻击或其他攻击。

防御性编程与非防御性编程之间的区别在于,程序员不会对特定的函数调用或库的使用情况做假设。
BeiChuanAlex
    27
BeiChuanAlex  
   2024-07-25 02:01:30 +08:00
其实很简单,用冷门的语言写
netabare
    28
netabare  
   2024-07-25 02:06:23 +08:00 via iPhone
首先,这不叫防御性编程
AV1
    29
AV1  
   2024-07-25 02:34:19 +08:00   1
绝大多数程序员都是平庸的人,互相看不起,互相嫌弃对方的代码。
所以,你只要正常写,哪怕自认为很“优雅”,在别人眼里都是“防裁员代码”。
leo72638
    30
leo72638  
   2024-07-25 02:39:05 +08:00 via iPhone
没用,要裁员领导也不会管代码质量
hello2090
    31
hello2090  
   2024-07-25 06:03:44 +08:00 via iPhone
这,你还得告诉老板你的 code 别人看不懂啊,不然他不知道啊
chendy
    32
chendy  
   2024-07-25 08:17:28 +08:00
污名化防御性编程,B 了
有一说一,不用故意不好好写,80%的开发正常写都是屎,99%的开发自己写完的东西自己都看不懂,更不用说别人
swy
    33
swy  
   2024-07-25 08:23:12 +08:00
还是自己多参与一些有深度的项目吧,掌握核心流程。简单代码你再怎么“防御”也没用。
corcre
    34
corcre  
   2024-07-25 08:23:58 +08:00
我就正常发挥
bk201
    35
bk201  
   2024-07-25 08:36:20 +08:00   2
领导不会考虑什么屎山很难理解,留下你,而是让你走后,说你水平很差,让其他人接手,其他人会吐槽你的代码,进行重构。丝毫不影响你被裁员,而且难为同事后你的风评很差,领导无所谓,如果没人能接手,就重构,说你能力差,或者接手人能力差。
muzei233
    36
muzei233  
   2024-07-25 08:50:20 +08:00   1
代码留给别人,注释留给自己
luzemin
    37
luzemin  
   2024-07-25 08:52:37 +08:00
多分层。

计算机科学领域加一层不能的解决的问题就是封层太多的问题。
harryWebb
    38
harryWebb  
   2024-07-25 09:23:01 +08:00
别天天想着写好代码,真正有价值的东西是让人无法离开,而不是让任何一个人都替代你
不要有什么洁癖,这些都是有问题的思想
masterclock
    39
masterclock  
   2024-07-25 09:28:47 +08:00
是不是不少人把梗当真了?
zhoust
    40
zhoust  
   2024-07-25 09:37:59 +08:00
@masterclock 如果没有能力改变 现状/弱势地位,那就给自己套上一份“信仰”,以“信仰”之力维持自己行为的正当性/社交价值。通常这种行为都发生 Loser 身上。
duanxianze
    41
duanxianze  
   2024-07-25 09:42:01 +08:00
事实上没什么用,业务不赚钱代码好坏都是价值为零的垃圾,裁掉也不用找人接盘了
qsnow6
    42
qsnow6  
   2024-07-25 09:42:11 +08:00
开玩笑可以,当真就算了。现在这环境,整条业务线都可以裁掉,这些操作纯粹给自己找事。大部分人不要对自己的代码质量过于自信,看看自己 1 年前的代码,很多时候自己也看不懂。
yulgang
    43
yulgang  
   2024-07-25 09:50:52 +08:00
不写注释,变量名用拼音首字母+英文单词就行
FreshOldMan
    44
FreshOldMan  
   2024-07-25 09:56:29 +08:00
没用的,不会有大模型看不懂的代码
qiyilai
    45
qiyilai  
   2024-07-25 10:04:08 +08:00   1
没必要,有时候一团端
Leon777
    46
Leon777  
   2024-07-25 10:09:29 +08:00
到处拉屎你以为能恶心到别人,其实先恶心到的是自己
dcdlove
    47
dcdlove  
   2024-07-25 10:09:35 +08:00
EndlessMemory
    48
EndlessMemory  
   2024-07-25 10:09:55 +08:00
你这也防不了裁员
zhuangzhuang1988
    49
zhuangzhuang1988  
   2024-07-25 10:11:30 +08:00
正常写就好。
Sfilata
    50
Sfilata  
   2024-07-25 10:14:48 +08:00
你怎么编程真的没啥用,不会真有人觉得自己负责的代码离了自己就会挂吧。如果真要裁你,你全部用二进制写也没用。所以说,好好写代码,好好健身,多熟悉熟悉业务,搞清楚一些业务逻辑比搞这种故意防裁员编程都好的多。
error451
    51
error451  
   2024-07-25 10:24:42 +08:00
很简单啊, 尽量用高级算法。

比如字符串查找, 一般要求不高的情况下,用语言自带的字符串查找就行了。

但是你自己全用高级算法,比如 KMP 算法,AC 自动机等等高级字符串搜索。

排序算法,别用语言自带的, 自己实现。有 N 种排序算法, 找最复杂的算法,自己实现上三四个,然后写代码的时候,随机选一个用。

一个简单功能,用三四种排序算法,三四种字符串搜索算法, 都是正经算法,谁也说不了你啥东西。

非要问,就是为了提高运行效率。
    52
2324  
   2024-07-25 10:29:51 +08:00
对我而言是正常发挥
ixwen
    53
ixwen  
   2024-07-25 10:33:41 +08:00
@echo1937 不用三个月 过个几天 自己都看不懂
TArysiyehua
    54
TArysiyehua  
   2024-07-25 10:34:21 +08:00
很多人压根没意识到老板根本不看你写了什么代码?防御性编程?你要笑死我
Torpedo
    55
Torpedo  
   2024-07-25 10:38:40 +08:00
别想了,国内大部分公司都是通过人来解决问题,而不是文档、流程。搞这些没用的
GBdG6clg2Jy17ua5
    56
GBdG6clg2Jy17ua5  
   2024-07-25 10:43:33 +08:00
想一下,老板裁你会看你代码能不能维护吗?
真正的防御性编程是多了解公司核心业务,看看自己是不是也可以搞一个副业。
zuixinwenyue
    57
zuixinwenyue  
   2024-07-25 10:49:59 +08:00
@Vitumoc 一定有这个项目别人无法维护而不能开除的案例;
xz410236056
    58
xz410236056  
   2024-07-25 11:25:25 +08:00
你只要把注释去了就行了
bugmaker1024
    59
bugmaker1024  
   2024-07-25 11:52:51 +08:00
当我看我前几个月写的代码,我觉得也是一坨屎
rxswift
    60
rxswift  
   2024-07-25 11:55:06 +08:00
裁不裁你和你写的屎山代码没有一点关系
shixuedela
    61
shixuedela  
   2024-07-25 12:20:43 +08:00
留意到你的`(笑` 我在拼命的找另一半`)`。我是不是没救了
xiaokaiyyy
    62
xiaokaiyyy  
   2024-07-25 12:33:11 +08:00
放空自己写,出来一定是垃圾
zw1one
    63
zw1one  
   2024-07-25 13:34:53 +08:00
文档、各种关键配置、项目部署情况、分支信息。这些自己留着不公开就行了。
zjp
    64
zjp  
   2024-07-25 13:37:47 +08:00
看完正文还以为是正常含义的防御性编程,看来不正常的是我
Promtheus
    65
Promtheus  
   2024-07-25 13:46:55 +08:00
写业务代码就不要研究这种了。没啥意义
wwd179
    66
wwd179  
   2024-07-25 14:16:29 +08:00
就算防御性编程。也会被裁吧。只是发现裁了这个员工后,项目一团糟
luodiskac
    67
luodiskac  
   2024-07-25 15:07:41 +08:00
我写的狗屎本身就带有防御性编程属性了...
unco020511
    68
unco020511  
   2024-07-25 15:14:59 +08:00
不要这么干,放过后来者
blur1119
    69
blur1119  
   2024-07-25 15:42:37 +08:00
@dfkjgklfdjg 好多人都是这样被洗脑 ,把别人的玩笑话当真,以为防御性编程真有用呢。刚进公司一看你写烂,直接被裁,还什么防御编程
bello123
    70
bello123  
   2024-07-25 15:46:46 +08:00
别过几个月后没恶心到别人,而恶心到自己了
weixind
    71
weixind  
   2024-07-25 15:54:33 +08:00
@X0V0X 不用等裁员名额。直接干飞。相信代码写的狗屎一堆就不会裁自己的,脑子有问题。
laoertongzhi
    72
laoertongzhi  
   2024-07-25 15:57:54 +08:00
过于自信了。
caiqichang
    73
caiqichang  
   2024-07-25 16:04:29 +08:00   1
己所不欲,勿施于人
UserName99
    74
UserName99  
   2024-07-25 16:15:08 +08:00
变量名用中文方言命名,自带加密效果
easymbol
    75
easymbol  
   2024-07-25 16:17:54 +08:00
没必要,只要需求提的越多,屎山就越庞大
llwillzhiwei
    76
llwillzhiwei  
   2024-07-25 16:21:00 +08:00
使用高级的设计模式
james122333
    77
james122333  
   2024-07-26 00:29:07 +08:00 via Android
没有人喜欢被防御性编程针对 我也很不喜欢 但防御性编程重点根本不在于避免被裁 而是让别人被裁或者被贴上能力相关的标 自己不被裁是最佳副作用 深有体会才会了解这个 通常是相同部门资深人员或上位者的阴谋
victorc
    78
victorc  
   2024-07-26 00:33:30 +08:00
做人,堂堂正正,坦荡一生,别干这些蝇营狗苟的事情

如果缺钱,我支持你去抢银行,也别这样猥琐
james122333
    79
james122333  
   2024-07-26 00:36:03 +08:00 via Android
而且这样被恶搞的人往后职场会被检讨稳定性 华人社会中是蛮恶毒的
james122333
    80
james122333  
   2024-07-26 00:48:05 +08:00 via Android
如果你这都没被打击到 那就可能针对其它方面被批判
但还有玩双面的
qiqi669
    81
qiqi669  
   2024-07-26 01:37:36 +08:00
恶心别人就是恶心自己。
8355
    82
8355  
   2024-07-26 10:45:43 +08:00
你看,思维上已经融入了,还谈其他的干嘛。
shapper
    83
shapper  
   2024-07-26 15:40:54 +08:00
只要代码能跑就无所谓有没有注释,理解时间成本问题。。。。。
hwf
    84
hwf  
   2024-07-31 11:43:17 +08:00
源码不提交, 只提交压缩混淆后的
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1358 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 33ms UTC 16:44 PVG 00:44 LAX 09:44 JFK 12:44
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