忍者代码指南:防御性编程技巧保卫你的职业生涯

272 天前
 ashin

忍者代码

在编程界,有一种神秘的艺术,那就是“Ninja Code”。这不是一种编程语言,而是一种编程风格,它的核心原则是让代码尽可能难以理解,从而确保你的岗位安全。毕竟,如果没有人能够读懂你的代码,那么也就没有人能够替代你。

防御性编程技巧

以下是一些精选的忍者代码技巧,它们将帮助你在编程的道路上隐身遁形:

全文阅读: https://blog.axiaoxin.com/post/ninja-coder-skills/

6275 次点击
所在节点    程序员
54 条回复
luzemin
272 天前
不要再污染“防御性编程”词条了
InDom
272 天前
这破工作一天都不想干了,要不是找不到新坑...
terranboy
272 天前
这跟防御性编程有啥关系
chenliangngng
272 天前
只要你的屎够臭,别人就不会进你茅坑对吧。可是你自己不觉得臭吗,现在在茅坑的是你自己
matthewzhong
272 天前
[ [真] 防御式编程指南]( https://mp.weixin.qq.com/s/n9Aw3VZ0uZlp1nGpxhe-Ww)
xiangbohua
272 天前
但凡有个 lead 看看代码都要把你开除
Helsing
272 天前
直接用 AI 优化一下就完事了,有卵用
66beta
272 天前
招个人来重构一下就行了,为什么要留你的屎山
tikazyq
272 天前
不怕暗器伤了自己么
changnet
272 天前
自己不想干提离职就是了,别把别人带歪了。我做了这么多年,从来没见过有人因为代码写得难看被留下的
ben666
272 天前
根据我多年的观察,能写出好代码的真人不多,follow 好的编码风格的人也不多,。


多看看一些大牛是怎么写程序的,把心思放在怎么写出好代码上更值得。参考:
1. linux kernel 规范: https://www.kernel.org/doc/html/v4.10/process/coding-style.html
2. nginx 规范: https://nginx.org/en/docs/dev/development_guide.html#code_style
3. deperf 风格 https://github.com/baidu/dperf/
didyoudo
272 天前
这样编程代码 review 怎么过?谁能给你过?怕不是今天 review ,明天就拎包走人
nenseso
272 天前
大公司都有相应的编程规范,凡是不符合规范的都不能过 code review 的,小公司小业务线,都是整条整条的线嘎掉,跟编程防御没啥关系。
xxlsize
272 天前
要裁你的人,都不看代码。
Promtheus
272 天前
防御我觉得可以用复杂度上 ,比如超然的设计。很高级别人看不懂。这才叫防御,就像大神的代码很精巧很难一下子看懂,甚至不敢随便修改,但是却很稳很好用。而不是这种摆烂式的防御,这样的代码直接就是让领导赶紧优化掉你啊。连同事都会吐槽赶紧把这个人开了。防御个蛋。
Sivan
272 天前
我一般看到这种代码时就已经在想优化他的理由了。

劝退差员工花的不是 Leader 的钱,但留下差员工一定会耽误 Leader 挣钱。
jones2000
272 天前
提升自己的能力才是最好的防御。
test4zhou
272 天前
写垃圾就写垃圾,别污名防御性编程
proxytoworld
272 天前
什么杀软,你没有使用过 chatgpt 去混淆吗?

javascript

// 原始代码
i = i ? (i < 0 ? Math.max(0, len + i) : i) : 0;

// 修改后的代码
let index;

if (i === undefined) {
index = 0;
} else if (i < 0) {
// 如果 i 是一个负数,那么它被认为是从数组末尾开始的索引
index = Math.max(0, len + i);
} else {
index = i;
}

解释:

我使用了一个更具描述性的变量名 index 来替代 i 。
将原始代码分解成多个 if 语句,使逻辑更易读。
添加了注释,解释了当 i 为负数时的处理逻辑。
使用 === 和 undefined 来检查 i 是否存在,这比原始代码中的隐式类型转换更加清晰。

修改后的代码保持了与原始代码相同的行为,但使用了更具描述性的变量名和注释,使逻辑更易理解。
wusheng0
272 天前
没和同事协作过吗?

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

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

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

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

© 2021 V2EX