你见过最烂代码是什么?

文摘   2024-11-04 12:15   山西  
今天我们来聊聊「写代码」这件事——或者说,是写「让人窒息」的代码。

Github上还真有一个“独树一帜”的项目,专门教你怎么写出让接盘的同事崩溃的代码,让调试的人怀疑人生。
这项目居然有 2.5K 星,看来许多人对“如何恶心队友”颇有兴趣啊😂。

这里列出了一些“艺术级烂代码”的标准,接下来我结合我的「烂代码收藏经验」,和大家分享其中的精髓。咳咳,以下是错误示范,请勿模仿😜。

1. 变量命名越简短越好

想写出优秀代码?太简单了,名字取短一点不就行了?别问我a是啥意思,不知道不要紧——反正我也不知道。正所谓「变量有名,才能留名」。
let a = 42// 优秀写法
要是有新人问起 “a”是什么的缩写,就保持神秘地笑笑吧。毕竟,懂的自然懂。

2. 混合命名风格,显示“博学”

在命名时混搭几种命名风格,尽量把CamelCase、snake_case和PascalCase都用上。这样别人就会觉得:哇,这人学问深厚啊。
let wWidth = 640;   // Window width
let h_height = 480// Height
这时新同事往往会陷入“猜测命名逻辑”的思考中,然后发现…完全没有逻辑😂

3. 拒绝注释

你要自信,觉得自己的代码就是“天书”,别人一看就能懂。注释什么的,浪费时间!
const cdr = 700// 好的写法,不用注释
如果有人敢问 “cdr 是啥?” 那就告诉他 “那是显而易见的常识”。真要写注释,那就用点拉丁语,随便找个古文诗句,让大家感受你的文化底蕴。

4. 使用生僻字符做分隔符

前段时间,我看到有位程序员用中文生僻字符 “丨” 来当分隔符,结果让印度小哥调了一下午,整得怀疑人生。
const data = "值1丨值2丨值3";
用这种方法,调试的时候大家就会开始思考人生:这到底是 1|I 还是字母 l?最后就陷入深深的自我怀疑中。

5. 一行代码写到底

把代码一行写到底,越长越好。这可是展现你“文思泉涌”的最佳方法,别怕别人看不懂。比如:
document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{}); // 一行写法
看到这行代码,别人立马会怀疑自己是不是太蠢才看不懂。

6. 永远不处理错误

写代码出错?不存在的!不处理错误,不报错,就不会有bug。用try-catch的时候,catch 里直接留空。万一别人问你为啥不处理,就告诉他“少即是多”。
try {
  // 意料之外的情况。
catch (error) {
  // 呵呵,没事的,放空就行
}

7. 滥用全局变量

用全局变量是让你写代码有“全球视野”的第一步。随便一个变量,全局都能用,随时随地直接拿来就用,写起来才过瘾。
let x = 5;
function square() {
  x = x ** 2;
}
square(); // 现在 x 是 25
以后代码谁写都可能改到这个x,这才是团队合作的精髓啊。

8. 混合缩进风格

缩进?何必呢?有的地方 2 个空格,有的地方 4 个空格,甚至 Tab 和空格混用,都是一种自由的表达方式嘛。毕竟,大家喜欢自由的代码。
const fruits = ['apple',
  'orange''grape''pineapple'];
  const toppings = ['syrup''cream'
                    'jam'
                    'chocolate'];
格式不统一才有个性。

9. 留下Plan B

在代码的最后写上一些多余的东西,这样可以体现“未雨绸缪”。毕竟,写代码嘛,总要考虑几个Plan B。
function square(num{
  if (typeof num === 'undefined') {
    return undefined;
  }
  else {
    return num ** 2;
  }
  return null// 永远都不会执行到这里
}
当别人看到这里,马上就会陷入深思:这行到底有啥用呢?

10. 避免统一风格

在一个团队中保持风格一致?太无聊了。每个人都按照自己的写法来,这才是“多样性”。不同的代码风格,融合在一个项目中,才是“代码的自由”。

是不是看完之后“受益匪浅”😂?当然,以上只是个玩笑,写出清晰、可维护的代码才是王道。
无论是变量命名、错误处理还是注释规范,都是为了让自己和别人更容易理解代码。编程本来就够复杂了,咱们不为难自己,写出好代码,让生活轻松点,不香嘛?

-END-

ok,今天先说到这,老规矩,看完文章记得右下角给何老师点赞,

最后送给大家一个福利,我这里有一份搞副业的教程,这份教程里有100+个搞钱小项目:

网盘拉新核心玩法、公众号运营变现、小红书虚拟资料引流等,现在扫码加我微信,即可领取这份副业教程。

添加时备注:副业

程序媛山楂
5年+程序媛,专注于AI编程普及。本号主要分享AI编程、Chat账号、Chat教程、Sora教程、Suno AI、Sora账号、Sora提示词、AI换脸、AI绘画等,帮助解决各种AI疑难杂症。
 最新文章