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