面试官:你见过最垃圾的代码长什么样?网友:辣鸡,不能直视...

 
 

点击上方[全栈开发者社区]右上角[...][设为星标⭐9811b421e47cbba172943ed50a13ee98.gif

点击领取全栈资料:全栈资料

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

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

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

重新造轮子出错了

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

0ee2610bf0d949e071aae591b1a02265.png

原始资料

 魔法数字

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

32d0a37ff245c84b58667d14a55f231b.png

原始资料

至少它被分成了几条线

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

17eae789424c0641ab94e32d51470876.png

原始资料

魔鬼也是一种功能

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

179609a3580363f3319a8a12971c7712.png

原始资料

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

这个想法在我们的开发者伙伴的脑海中闪过。他没有犹豫一秒钟。并立即实施了它。

60549472c1037bc349169ae5f481949a.png

原始资料

唤醒内在的孩子

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

72bcf9cffb3f636a414a3dfb01cc42e6.png

原始资料

到底谁在读提交t信息

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

df68e0015abaffc6d44a48aca098eab8.png

原始资料

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

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

6193150363628d1558b75aa01f6996db.png

原始资料

购买超宽屏显示器的理由

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

2d1fc6fc6ed8e1d6e146539a6c4d3551.png

原始资料

天才之举

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

06273cf8f09ac1638198389851861c84.png

原始资料

排版是最好的

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

711996c9f97e9ef9216ab6c5c6b7703c.png

原始资料

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

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

d14cb4e825af847f208a3812e555077f.png

原始资料

确保它是真正的Bool

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

166f681de9ca86f3a4c28cca6103fed7.png

原始资料

测试驱动的最佳开发方式

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

103eae75998fee63fec836ac1888aff1.png

原始资料

你敢于扩展吗?

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

4ec2401ea8b4ca449b8d3de84a6c3db1.png

原始资料

试用Switch语句

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

167106155d192ffa882ed3acfd838a37.png

原始资料

数学是困难的

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

ee5b782b02a6dca497b7ae50e411b134.png

原始资料

当辉煌的想法流淌时

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

50ca1e2689c94bb44f6de21a67f0fa20.png

原始资料

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

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

b8ec1e94078f620766db456707837e8a.png

原始资料

最后的思考

我希望你在看这些例子时有个好心情。我当然也是如此。欢迎让我知道你最喜欢的是哪一张。

我在浏览这些代码片断时感到很愉快。它让我想起了我早期的日子。在我的职业生涯中,我写了一些我并不自豪的代码片段。。。

觉得本文对你有帮助?请分享给更多人

关注「全栈开发者社区」加星标,提升全栈技能
本公众号会不定期给大家发福利,包括送书、学习资源等,敬请期待吧!
如果感觉推送内容不错,不妨右下角点个在看转发朋友圈或收藏,感谢支持。
好文章,留言、点赞、在看和分享一条龙吧❤️
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值