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

news/2024/7/20 22:46:37 标签: java, python, 人工智能, javascript, ios

来源:blog.csdn.net/daocaokafei/article/

details/120733959

19个人们真正编写的垃圾代码片段,其中一个可能是你写的。

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

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

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

重新造轮子出错了

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

86b0b69f417b51fd6800a1b513c648bc.png

魔法数字

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

d3399433c7534210006cd520250a215a.png

至少它被分成了几条线

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

5196a270abe31812c86849cd406fba63.png

魔鬼也是一种功能

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

50eb7e1938e5f4d358e543aaa24f8eb0.png

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

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

f0ad5fc9de549478f4e4ebeb271cfc68.png

唤醒内在的孩子

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

e49c39384c595ff0a13e7738c23d088e.png

到底谁在读提交t信息

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

4dd74ad83032b134f8371a1638b04fd0.png

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

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

9aa25b41d5fa703696e93c13e0249595.png

购买超宽屏显示器的理由

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

d914817f7ec47adc64ddb2caf9a3b375.png

天才之举

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

30e5a395a816e12643c389f87a576681.png

排版是最好的

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

6d05a38da4114c5d66148d52ea49a75c.png

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

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

a2200bd45543c1d643d09809c950d035.png

确保它是真正的Bool

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

3e93d8bc12132f4834d741e568ad5efa.png

测试驱动的最佳开发方式

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

cbfa22316b25d85a43f00a212bbcdf9d.png

你敢于扩展吗?

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

17f0dd12de31f6d975c8b23f27f1eefe.png

试用Switch语句

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

49aec5c6c1f4f662692a24c3555db674.png

数学是困难的

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

25652beb446a2bdffa9574b6774cb862.png

当辉煌的想法流淌时

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

c73e14255c3f3fd2256849efea35ebcc.png

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

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

bccf42f3ea96fd44185fbee461015b66.png

最后的思考

我希望你在看这些例子时有个好心情。我当然也是如此。欢迎让我知道你最喜欢的是哪一张。或者如果你有一些可耻的照片要分享,不要害怕在评论中分享它。

我在浏览这些代码片断时感到很愉快。它让我想起了我早期的日子。在我的职业生涯中,我写了一些我并不自豪的代码片段。但幸运的是,没有人对它们进行截图。或者至少我希望如此。


http://www.niftyadmin.cn/n/1331848.html

相关文章

技术总监需要会些什么?

来源:cnblogs.com/chejiangyi/p/15420637.html背景痛点目标研发管理体系构建思考道: 在于文化,思维,准则,价值观,领导力的构建,是思维和思想,它需要我们落到实处。法:在于流程化&…

MySQL模糊查询再也用不着 like+% 了!

点击上方“果汁简历”,选择“置顶公众号”前言我们都知道 InnoDB 在模糊查询数据时使用 "%xx" 会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查…

我的面试标准:1.能干活;2.Java基础好;3.熟悉分布式框架

点击上方“果汁简历”,选择“置顶公众号”我的面试标准在上周,我密集面试了若干位 Java 后端的候选人,工作经验在3到5年间。我的标准其实不复杂:1、第一能干活;2、第二 Java 基础要好;3、第三最好熟悉些分布…

SpringBoot+MDC实现全链路调用日志跟踪,这才叫优雅!

文章来源: https://sourl.cn/WbZ9W8之前有一篇文章简单的介绍过MDC,这次结合具体的案例、生产中的具体问题深入了解一下MDC。MDC 介绍1、简介:MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4…

2021 全球程序员收入报告出炉,看完我真的拖后腿了。。

出品 | 程序人生 (ID:coder _life) 来源:https://blog.csdn.net/m0_55452176/article/details/122217762近日,美国科技公司数据收集网站Levels.fyi发布了2021年全球程序员收入报告,在该报告中,L…

SpringBoot 大屏展示,私活项目,已开源,2022 接私活必备!

一款基于SpringBoot代码生成器的快速开发平台!采用前后端分离架构:SpringBoot,Mybatis,Shiro,JWT,Vue&Ant Design。强大的代码生成器让前端和后台代码一键生成,不需要写任何代码&#xff0c…

api响应泛型参数 swagger_你还在用Swagger?试试这个神器!

(给ImportNew加星标,提高Java技能)作者:Java旅途/ 周明尧(本文来自作者投稿)今天给大家安利一款接口文档生成器——JApiDocs。Swagger 想必大家都用过吧,非常方便,功能也十分强大。如果非要说Swagger 有什么缺点,想必就…

Caffine Cache 在 SpringBoot 中的使用

前面刚说到Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本…