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

来自公众号:一口Linux

在某些时候,我们写出了自己并不感到自豪的代码。这些代码让你怀疑,"我怎么会写出这样的东西?"其实,这没什么好羞愧的。

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

今天,我将把它们介绍给你们。

重新造轮子出错了

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

4984ca029bb4d4b17a22ea256b8ee54b.png

 

魔法数字

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

c2f19c96340ae5a9a55fac665f1610a0.png


至少它被分成了几条线

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

2493352c01186e5e0aaa360498277d58.png

魔鬼也是一种功能

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

ea48554835b8e35902d61bdb4925ccea.png

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

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

ef7a0890adc914f99a0dbb4e3ba0cbda.png

唤醒内在的孩子

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

ded39f177c6aae8b5b65d3253c4e0e0f.png

到底谁在读提交t信息

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

a10a8a6d943aa192a9051f0047c1af7d.png

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

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

bfa7af3019853fc0cdf65021c43d883f.png

购买超宽屏显示器的理由

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

3a5c03e2754823d66c522bab860dff20.png

天才之举

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

687dccd34cbd20718bc4aef19a974bbd.png

排版是最好的

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

a74ca3544e86783c6b04db7c8c49804e.png

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

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

8f2f82af33b12dd39db81e845656b8e2.png

确保它是真正的Bool

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

4abfb5f714dd816cec19b428a7edf618.png

测试驱动的最佳开发方式

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

d6b0b88b5a96f7216059817d18148847.png

你敢于扩展吗?

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

db791382e8c1662af064d0a8b31fc263.png

试用Switch语句

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

05db89a2a4116e50b0478789771d1628.png

数学是困难的

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

9885e3bf8e58504557521a045be1791d.png

当辉煌的想法流淌时

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

5266cc4b3c618a5a68025650c0c08149.png


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

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

d32e8722743ef8b161a0dd3c44d706bf.png

推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)

亿级(无限级)并发,没那么难

论数字化转型——转什么,如何转?

华为干部与人才发展手册(附PPT)

企业10大管理流程图,数字化转型从业者必备!

【中台实践】华为大数据中台架构分享.pdf

华为的数字化转型方法论

华为如何实施数字化转型(附PPT)

超详细280页Docker实战文档!开放下载

华为大数据解决方案(PPT)

cc7513b1f41fbfa152fadcf8cbd32183.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值