在某些时候,它发生在我们所有人身上。你产生了你并不感到自豪的代码。这些代码让你怀疑,"我怎么会写出这样的东西?"这没什么好羞愧的。我们只是人类。有时候,我们就是没有做到最好。它发生在我身上,发生在你身上,但它也发生在其他开发者身上。我花了点时间,收集了我能找到的最糟糕的代码片断。今天,我将把它们介绍给你们。然而,我只在一个条件下这样做。你必须向我保证你不会以恶劣的方式对待他们。记住,在某些时候,你可能写过类似的东西。既然如此,让我们戴上豁达的眼镜,玩一玩。第一篇来了!
重新造轮子出错了
常规的布尔类型比较没有返回你要找的东西。你应该怎么做?答案很简单,你自己创建一个。
魔法数字
看着这幅图,我不禁要问。如果我们改变其中一个数字会发生什么?可能没有什么好事。
至少它被分成了几条线
从这块代码的纯粹外观来看,我猜测它是一个学校项目。不用说,我对这位老师表示慰问。
魔鬼也是一种功能
今天,我们将看到isEven函数的各种实现。这是我们的第一个候选人。我想说的是,我们已经有了一个好的开始。你觉得怎么样?
希望有一个函数来获取字符串的大小
这个想法在我们的开发者伙伴的脑海中闪过。他没有犹豫一秒钟。并立即实施了它。
唤醒内在的孩子
虽然听起来很疯狂,但你可以使用表情符号作为变量名称。但你应该以这种方式使用它们吗?请看下面的代码,自己决定。
到底谁在读提交t信息
如果你有一个同事反复使用相同的提交信息。她可能是这样做的。
如果这些变化中的任何一个
未来是不可预测的。它可以在一夜之间改变。为了防止这种情况发生,最好还是多加小心。
购买超宽屏显示器的理由
冗长的变量名并无不妥。只要它们有助于提高代码的可读性。但有时,我们必须问自己 "多长才算长?”
天才之举
这里没有什么要补充的。我认为这条注释不言自明。
排版是最好的
类型安全的感觉是很好的。那么如何更好地确保你不会出现任何类型错误呢?这些家伙,他们想出了这个办法。
如果它起作用,它就是起作用
真正要说的是什么。只要确保参数的总和始终是7。而且这个函数不会失败。
确保它是真正的Bool
多大程度的悲观才算过分悲观?我想说这个人真的很接近。
测试驱动的最佳开发方式
我们必须为使用单元测试的做法点赞。但我不禁要问。如果测试是生成随机数字,会发生什么?
天才之举
这里没有什么要补充的。我认为这条注释不言自明。
排版是最好的
类型安全的感觉是很好的。那么如何更好地确保你不会出现任何类型错误呢?这些家伙,他们想出了这个办法。
如果它起作用,它就是起作用
真正要说的是什么。只要确保参数的总和始终是7。而且这个函数不会失败。
确保它是真正的Bool
多大程度的悲观才算过分悲观?我想说这个人真的很接近。
测试驱动的最佳开发方式
我们必须为使用单元测试的做法点赞。但我不禁要问。如果测试是生成随机数字,会发生什么?
你敢于扩展吗?
我们都在某些时候写过复杂的开关语句。然而,一千行似乎有点太多了。但毕竟有很多鼠标的状态需要覆盖。
试用Switch语句
你认为未来的计划是要扩大这个Switch吗?没有什么了,只是要相信它。
数学是困难的
有时,使用外部帮助并不可耻。实际上存在的是--甚至是包。你敢猜它每周有多少次下载吗?它超过了15万次。
当辉煌的想法流淌时
有时,你只是觉得自己是个叛逆者。你必须按自己的方式做事。但我想我们可以同意,这种类型的代码不应该进入代码审查。
当你是个码农但你的激情是书法时
我尝试了不同类型的字体。但我不得不说,它从未走到这一步。如果这让你怀疑 "盗版软件是这样写的吗?" 你并不孤单。
最后的思考
我希望你在看这些例子时有个好心情。我当然也是如此。欢迎让我知道你最喜欢的是哪一张。或者如果你有一些可耻的照片要分享,不要害怕在评论中分享它。我在浏览这些代码片断时感到很愉快。它让我想起了我早期的日子。在我的职业生涯中,我写了一些我并不自豪的代码片段。但幸运的是,没有人对它们进行截图。或者至少我希望如此。