你见过最垃圾的代码长什么样?
大家好,我是一行
在Python 里运行 "import this" 这行代码之后,就会出现一个python之禅的小彩蛋,告诉你该如何写出优雅的代码
但是没有你对比就没有伤害,最近看到一篇文章分享了各种各样的垃圾代码,不得不说有些毛病曾经我也犯过
这里分享给大家看看,千万别人把你的垃圾代码贴出来示众啊。。。
来源:blog.csdn.net/daocaokafei/article/details/120733959
在某些时候,它发生在我们所有人身上。你产生了你并不感到自豪的代码。这些代码让你怀疑,"我怎么会写出这样的东西?"这没什么好羞愧的。我们只是人类。有时候,我们就是没有做到最好。
它发生在我身上,发生在你身上,但它也发生在其他开发者身上。我花了点时间,收集了我能找到的最糟糕的代码片断。今天,我将把它们介绍给你们。
然而,我只在一个条件下这样做。你必须向我保证你不会以恶劣的方式对待他们。记住,在某些时候,你可能写过类似的东西。既然如此,让我们戴上豁达的眼镜,玩一玩。第一篇来了!
重新造轮子出错了
常规的布尔类型比较没有返回你要找的东西。你应该怎么做?答案很简单,你自己创建一个。
![](https://filescdn.proginn.com/1bfe3be139d6f72a7ab35102d5aae749/c995e839ebcc5b3a732ce822297820b9.webp)
魔法数字
看着这幅图,我不禁要问。如果我们改变其中一个数字会发生什么?可能没有什么好事。
![](https://filescdn.proginn.com/cbd9709b86876c2016cb3864eb343894/c215da599585bdf11c9d62485200658d.webp)
至少它被分成了几条线
从这块代码的纯粹外观来看,我猜测它是一个学校项目。不用说,我对这位老师表示慰问。
![](https://filescdn.proginn.com/7834cc4a172de747d0187098d22d22d9/c817cab21c012af68a97d96e09338c0b.webp)
魔鬼也是一种功能
今天,我们将看到isEven函数的各种实现。这是我们的第一个候选人。我想说的是,我们已经有了一个好的开始。你觉得怎么样?
![](https://filescdn.proginn.com/642b1c1613107445b764d0e3afd0bcab/8c3f9376e41c858a3829eb6b4eebf06b.webp)
希望有一个函数来获取字符串的大小
这个想法在我们的开发者伙伴的脑海中闪过。他没有犹豫一秒钟。并立即实施了它。
![](https://filescdn.proginn.com/1d6ce690297235f080383811185931d1/06c5107e5b8ede0057f052fcb45fc482.webp)
唤醒内在的孩子
虽然听起来很疯狂,但你可以使用表情符号作为变量名称。但你应该以这种方式使用它们吗?请看下面的代码,自己决定。
![](https://filescdn.proginn.com/7542da8a9724a3c24949587e935375c9/8615730cb9ba1009a40a71d1a1582930.webp)
到底谁在读提交t信息
如果你有一个同事反复使用相同的提交信息。她可能是这样做的。
![](https://filescdn.proginn.com/5ec589b59d0d4039d80b62908ab670bc/227d5aee7014c6395a5cf6bb22b57463.webp)
如果这些变化中的任何一个
未来是不可预测的。它可以在一夜之间改变。为了防止这种情况发生,最好还是多加小心。
![](https://filescdn.proginn.com/941918caa6e77dd1cc46b1a3a2bc41bf/39505375655172d099660e259949c161.webp)
购买超宽屏显示器的理由
冗长的变量名并无不妥。只要它们有助于提高代码的可读性。但有时,我们必须问自己 "多长才算长?”
![](https://filescdn.proginn.com/5765a0476b655d0405f5f914e4848058/d79a1b376cd026a5fa6e5fece24e7897.webp)
天才之举
这里没有什么要补充的。我认为这条注释不言自明。
![](https://filescdn.proginn.com/d37c102f018489ab417b4e3163d08045/9f8dadd3b42f9233224584d8bd886966.webp)
排版是最好的
类型安全的感觉是很好的。那么如何更好地确保你不会出现任何类型错误呢?这些家伙,他们想出了这个办法。
![](https://filescdn.proginn.com/0c2f643733b2db36fd498dc8cf35fe6e/2bfb9214a3f79b6178291b6898112600.webp)
如果它起作用,它就是起作用
真正要说的是什么。只要确保参数的总和始终是7。而且这个函数不会失败。
![](https://filescdn.proginn.com/bb3d31039ff26d0a953716eee1ca1fda/02d811439f9b965b751b2d8a4fa1fe3d.webp)
确保它是真正的Bool
多大程度的悲观才算过分悲观?我想说这个人真的很接近。
![](https://filescdn.proginn.com/3f4f13377ae28a93edcadf89db8168fa/38221639e4066979c1d605bb11ba752c.webp)
测试驱动的最佳开发方式
我们必须为使用单元测试的做法点赞。但我不禁要问。如果测试是生成随机数字,会发生什么?
![](https://filescdn.proginn.com/86cef0f7989fd028a2cfa9799b533288/6c90f4964d8797ca438ff03dde397b05.webp)
你敢于扩展吗?
我们都在某些时候写过复杂的开关语句。然而,一千行似乎有点太多了。但毕竟有很多鼠标的状态需要覆盖。
![](https://filescdn.proginn.com/a1ad2411ec67692e9de0556b97e36a3d/12a32278b66c62a71811ee663c68c779.webp)
试用Switch语句
你认为未来的计划是要扩大这个Switch吗?没有什么了,只是要相信它。
![](https://filescdn.proginn.com/73a3e6ee06c74c71e98b1ac1d4bfbdaa/3fc62c76f2e3a433a11d8830c7e5c6e7.webp)
数学是困难的
有时,使用外部帮助并不可耻。实际上存在的是--甚至是包。你敢猜它每周有多少次下载吗?它超过了15万次。
![](https://filescdn.proginn.com/21426ced4a4a2620636008c5c5f85c25/4963df8c006d58dd1cdd0e8ed2700b41.webp)
当辉煌的想法流淌时
有时,你只是觉得自己是个叛逆者。你必须按自己的方式做事。但我想我们可以同意,这种类型的代码不应该进入代码审查。
![](https://filescdn.proginn.com/612daef9dd8e07e9b5af364bb7dee2b2/56dd9fe435bac3bd8aa4240ee11a0ae4.webp)
当你是个码农但你的激情是书法时
我尝试了不同类型的字体。但我不得不说,它从未走到这一步。如果这让你怀疑 "盗版软件是这样写的吗?" 你并不孤单。
![](https://filescdn.proginn.com/828f896cc7a5199a4b7c4997b3eccf8d/883b978897763c399192ecd0459e237a.webp)
最后的思考
我希望你在看这些例子时有个好心情。我当然也是如此。欢迎让我知道你最喜欢的是哪一张。或者如果你有一些可耻的照片要分享,不要害怕在评论中分享它。
我在浏览这些代码片断时感到很愉快。它让我想起了我早期的日子。在我的职业生涯中,我写了一些我并不自豪的代码片段。但幸运的是,没有人对它们进行截图。或者至少我希望如此。
对了,一行经常在微信朋友圈发布一些兼职信息
技术类和非技术类时不时都有
如果对这方面有需求的小伙伴可以扫码添加一行的微信(yihangpy)👇
毕竟好友位已经所剩不多了