19个人们真正编写的垃圾代码片段,其中一个可能是你写的。

在某些时候,它发生在我们所有人身上。你产生了你并不感到自豪的代码。这些代码让你怀疑,"我怎么会写出这样的东西?"这没什么好羞愧的。我们只是人类。有时候,我们就是没有做到最好。


它发生在我身上,发生在你身上,但它也发生在其他开发者身上。我花了点时间,收集了我能找到的最糟糕的代码片断。今天,我将把它们介绍给你们。

然而,我只在一个条件下这样做。你必须向我保证你不会以恶劣的方式对待他们。记住,在某些时候,你可能写过类似的东西。既然如此,让我们戴上豁达的眼镜,玩一玩。第一篇来了!


重新造轮子出错了


常规的布尔类型比较没有返回你要找的东西。你应该怎么做?答案很简单,你自己创建一个。


你见过最垃圾的代码长什么样?(来长长见识)_架构师


魔法数字

看着这幅图,我不禁要问。如果我们改变其中一个数字会发生什么?可能没有什么好事。


你见过最垃圾的代码长什么样?(来长长见识)_架构师_02


至少它被分成了几条线

从这块代码的纯粹外观来看,我猜测它是一个学校项目。不用说,我对这位老师表示慰问。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_03


魔鬼也是一种功能


今天,我们将看到isEven函数的各种实现。这是我们的第一个候选人。我想说的是,我们已经有了一个好的开始。你觉得怎么样?


你见过最垃圾的代码长什么样?(来长长见识)_架构师_04


希望有一个函数来获取字符串的大小


这个想法在我们的开发者伙伴的脑海中闪过。他没有犹豫一秒钟。并立即实施了它。搜索公众号互联网架构师回复“2T”,送你一份惊喜礼包。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_05


唤醒内在的孩子


虽然听起来很疯狂,但你可以使用表情符号作为变量名称。但你应该以这种方式使用它们吗?请看下面的代码,自己决定。


你见过最垃圾的代码长什么样?(来长长见识)_架构师_06


到底谁在读提交t信息


如果你有一个同事反复使用相同的提交信息。她可能是这样做的。


你见过最垃圾的代码长什么样?(来长长见识)_公众号_07


如果这些变化中的任何一个


未来是不可预测的。它可以在一夜之间改变。为了防止这种情况发生,最好还是多加小心。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_08


购买超宽屏显示器的理由


冗长的变量名并无不妥。只要它们有助于提高代码的可读性。但有时,我们必须问自己 "多长才算长?”


你见过最垃圾的代码长什么样?(来长长见识)_搜索_09


天才之举


这里没有什么要补充的。我认为这条注释不言自明。


你见过最垃圾的代码长什么样?(来长长见识)_架构师_10


排版是最好的


类型安全的感觉是很好的。那么如何更好地确保你不会出现任何类型错误呢?这些家伙,他们想出了这个办法。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_11


如果它起作用,它就是起作用


真正要说的是什么。只要确保参数的总和始终是7。而且这个函数不会失败。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_12


确保它是真正的Bool


多大程度的悲观才算过分悲观?我想说这个人真的很接近。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_13


测试驱动的最佳开发方式


我们必须为使用单元测试的做法点赞。但我不禁要问。如果测试是生成随机数字,会发生什么?

你见过最垃圾的代码长什么样?(来长长见识)_公众号_14


你敢于扩展吗?


我们都在某些时候写过复杂的开关语句。然而,一千行似乎有点太多了。但毕竟有很多鼠标的状态需要覆盖。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_15


试用Switch语句


你认为未来的计划是要扩大这个Switch吗?没有什么了,只是要相信它。


你见过最垃圾的代码长什么样?(来长长见识)_公众号_16


数学是困难的


有时,使用外部帮助并不可耻。实际上存在的是--甚至是包。你敢猜它每周有多少次下载吗?它超过了15万次。


你见过最垃圾的代码长什么样?(来长长见识)_搜索_17


当辉煌的想法流淌时


有时,你只是觉得自己是个叛逆者。你必须按自己的方式做事。但我想我们可以同意,这种类型的代码不应该进入代码审查。


你见过最垃圾的代码长什么样?(来长长见识)_架构师_18


当你是个码农但你的激情是书法时


我尝试了不同类型的字体。但我不得不说,它从未走到这一步。如果这让你怀疑 "盗版软件是这样写的吗?" 你并不孤单。


你见过最垃圾的代码长什么样?(来长长见识)_架构师_19


最后的思考


我希望你在看这些例子时有个好心情。我当然也是如此。欢迎让我知道你最喜欢的是哪一张。或者如果你有一些可耻的照片要分享,不要害怕在评论中分享它。


我在浏览这些代码片断时感到很愉快。它让我想起了我早期的日子。在我的职业生涯中,我写了一些我并不自豪的代码片段。但幸运的是,没有人对它们进行截图。或者至少我希望如此。