【神级操作】 以中国传统的孔子和老子的思想,来分析忍者代码!

忍者代码

学而不思则罔,思而不学则殆。—— 孔子

过去的程序员忍者使用这些技巧,来使代码维护者的头脑更加敏锐。

代码审查大师在测试任务中寻找它们。

一些新入门的开发者有时候甚至比忍者程序员能够更好地使用它们。

仔细阅读本文,找出你是谁 —— 一个忍者、一个新手、或者一个代码审查者?

注意:检测到讽刺意味

许多人试图追随忍者的脚步。只有极少数成功了。

 

简洁是智慧的灵魂

把代码尽可能写得短。展示出你是多么的聪明啊。

在编程中,多使用一些巧妙的编程语言特性。

例如,看一下这个三元运算符 '?':

// 从一个著名的 JavaScript 库中截取的代码

i = i ? i < 0 ? Math.max(0, len + i) : i : 0;

很酷,对吗?如果你这样写了,那些看到这一行代码并尝试去理解 i 的值是什么的开发者们,就会有一个“快活的”的时光了。然后会来找你寻求答案。

告诉他短一点总是更好的。引导他进入忍者之路。

 

一个字母的变量

道隐无名。夫唯道善贷且成。—— 老子(道德经)

另一个提高编程速度的方法是,到处使用单字母的变量名。例如 a、b 或 c。

短变量就像森林中真正的忍者一样,一下就找不到了。没有人能够通过编辑器的“搜索”功能找到它。即使有人做到了,他也不能“破译”出变量名 a 或 b 到底是什么意思。

……但是有一个例外情况。一个真正的忍者绝不会在 "for" 循环中使用 i 作为计数器。在任何地方都可以,但是这里不会用。你随便一找,就能找到很多不寻常的字母。例如 x  y

使用一个不寻常的变量多酷啊,尤其是在长达 1-2 页(如果可以的话,你可以写得更长)的循环体中使用的时候。如果某人要研究循环内部实现的时候,他就很难很快地找出变量 其实是循环计数器啦。

 

使用缩写

如果团队规则中禁止使用一个字母和模糊的命名 — 那就缩短命名,使用缩写吧。

像这样:

    ✿ list -> lst

    ✿ userAgent -> ua

    ✿ browser -> brsr

    ✿ ……等

只有具有真正良好直觉的人,才能够理解这样的命

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值