救命!接手了一个老项目,见到了从业10年以来最烂的代码!

后台回复“书籍”免费领取《程序员书籍资料一份》

后台回复“5000”,免费领取试技术学习资料一份

在程序员这个行业从业快10年了,每过几个月回头看看自己写的代码,都会觉得写的也太烂了,不敢想象是自己之前写的。可是今天接手了一个老项目,可谓是大开眼界,烂出天际!

1、for循环里每个i判断,还好这个 for 循环代码只有 40 次,如果4万次,估计要写上几天几夜:

图片

还有这个,估计纯粹是为了练习 if 的用法:

图片

2、这个应该自我感觉挺好,这样防止经常改密码,然后忘记密码:

图片

图片

一般人想不到密码在这里,大隐隐于市,另外 password 是可以作为一个独立的单词,passWord 这样的写法就很诡异,难道是传说中的驼峰写法。

也很可能是故意的,因为大多数用户不知道 js 和浏览器调试,但维修的工程师可以很轻松的在特殊情况下找到需要的密码。

3、这个,也不是只有一个人会这么干:

图片

图片

4、这代码怎么说,是执行还是不执行:

图片

5、这种字段设计,有人喜欢也没毛病:

图片

6、这种也就看看,不能瞎搞:

图片

6、只是举个例子,不能当真:

图片

7、这看起来也没什么毛病:但是你细品。。。

图片

9、这缩进真是漂亮:

图片

这一排的 else 已经整懵逼了:

图片

 到底有几个 }) :

图片

while 都不够用:

图片

确实满足打印以下图片的需求:

图片

图片

10、判断奇偶数的代码,有网友是这样写的,我看完直呼行家:

图片

还懂得改进:

图片

客户只有 3000 块钱的预算,我只能干到这,起码显示了一下,让用户放心:

图片


结语

这里总结下以上烂代码常见的几个问题:

1. 注释水平为零

2. 变量命名随性

3. 缺乏代码结构和设计

4. 复杂的逻辑嵌套

5. 强行代码复用

企业中开发的代码质量直接影响到整个产品的可维护性、可靠性和扩展性。虽然我们每个人都可能在某个时刻写出过糟糕的代码,但关键在于我们能否从中吸取教训,不断进步。

如果你曾经痛苦地维护过烂代码,请放心,你并不孤单。反之,如果你觉得自己从未写过烂代码,那么可能是一种误解。记住,我们每个人都有机会通过学习和实践,写出更优雅、更高效的代码。

希望今天的分享能给您带来一些乐趣和启发。祝大家写代码顺利,不再遇到烂代码!

你还见过哪些想骂人的代码!!!!!欢迎评论区留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024黄河流域比赛的复现

目录 WEB [GKCTF 2021]easynode unser 知识点 WEB 根据此题先复现[GKCTF 2021]easynode这个题,这两个题类似 [GKCTF 2021]easynode 1.打开页面发现是登录页面,找到源文件里面的代码,分析如何进行登录,发现经过safeQuery()函…

深度学习 - CNN

第一部分:基础知识 1. 什么是卷积神经网络(CNN) 定义和基本概念 卷积神经网络(CNN)是一种专门用于处理具有网格结构数据(如图像)的深度学习模型。它们在图像识别和计算机视觉领域表现尤为突出…

SX2106B 2A同步降压型DC/DC转换器芯片IC

一般描述 SX2106B是一款同步降压DC/DC转换器,提供宽广的4.5V至24V输入电压范围和2A连续负载电流能力。 SX2106B故障保护包括逐周期电流限制、UVLO、输出过电压保护和热关机。可调软启动功能,防止启动时的浪涌电流。该器件采用电流模式控…

R语言数据分析案例28-对数据集可视化和T检验

一、分析主题: 本分析旨在对数据集进行可视化和 T 检验,以探索数据集中的变量之间的关系和差异。通过可视化数据,我们可以直观地了解数据的分布和趋势,而 T 检验则可以帮助我们确定这些差异是否具有统计学意义。 二、具体分析 …

【字符函数】

接下来介绍部分字符函数测试 2. 字符转换函数 1.字符分类函数 1.1iscntrl 注:任何控制字符 检查是否有控制字符 符合为真 int main() {int i 0;char str[] "first line \n second line \n";//判断是否遇到控制字符while (!iscntrl(str[i])){p…

【Java】多态、final关键字、抽象类、抽象方法

多态(Polymorphism) 【1】多态跟属性无关,多态指的是方法的多态,而不是属性的多态。 【2】案例代入: public class Animal {//父类:动物: public void shout(){ System.out.println("我是小动物&am…

Qt 非圆角图片裁剪为圆角图片

将Qt非圆角图片裁剪为圆角图片,步骤如下: 1、按照原始图片尺寸定义一张透明的新图形 2、使用画家工具在新图形上绘制一个圆角矩形线路 3、绘制图片 4、使用圆角矩形切割图片边角 封装成函数如下: QPixmap Widget::getRoundedPixmap(const QPixmap srcPix…

Vue引入element-plus-04

我们这次开发是使用vue的脚手架来进行开发,前面我们已经使用过最原生的方式去编写我们的vue的语法,从今天开始就使用vue的脚手架,但是前提是你需要用于node的环境 在我们开始之前,我们至少需要有node npm是什么? npm是一个强大的包管理工具,它…

Halcon 多相机统一坐标系

小杨说事-基于Halcon的多相机坐标系统一原理个人理解_多相机标定统一坐标系-CSDN博客 一、概述 最近在搞多相机标定等的相关问题,对于很大的场景,单个相机的视野是不够的,就必须要统一到一个坐标系下,因此我也用了4个相机&#…

人工智能ChatGPT的多种应用:提示词工程

简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理,如果想要 …

推荐系统三十六式学习笔记:原理篇.矩阵分解10|那些在Netflix Prize中大放异彩的推荐算法

目录 缘起矩阵分解为什么要矩阵分解1 基础的SVD算法2 增加偏置信息3 增加历史行为4 考虑时间因素 总结 我们先前聊过推荐系统中的经典问题,其中有一类就是评分预测。平心而论,评分预测问题只是很典型,其实并不大众。毕竟在实际的应用中&#…

最新情侣飞行棋高阶羞羞版,解锁私密版情侣小游戏,文末有福利!

今天要跟大家聊聊一种特别有意思的游戏——情侣飞行棋羞羞版。别急着脸红,这可是专为情侣设计的游戏,让你们在轻松愉快的氛围中,增进了解,加深感情。 谈恋爱,不就是两个人在一起,做些有趣的事情吗&#xf…

Opus从入门到精通(七)Opus编码基础之认识声音

Opus从入门到精通(七)Opus编码基础之认识声音 前面我们分析完Opus的编解码api使用,封装原理等,接下来我们准备分析Opus编码原理.Opus编码是一个复杂的工作,我们需要做一些基本铺垫,包括认识声音,压缩编码基础. 认识音频有助于我们了解音频特征,不仅对语音有助于我们理解编码技…

2021年9月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(判断题)

2021年9月Python编程等级考试三级真题解析 判断题(共10题,每题2分,共20分) 26、readline()执行结果为字符串,readlines()执行结果为列表 答案:对 考点分析:考查文件读操作,readli…

【leetcode--同构字符串】

要求:判断两个字符串的形式是不是一致,即是不是AABC或者ABBBCC这种。 trick:使用set()结合zip()。 set()用法:用于创建一个不包含重复元素的集合 zip&#…

环保绩效评级:ABCD四个等级,你的企业处于哪个水平?

在当下社会,环保问题越来越受到人们的关注和重视。企业作为经济活动的重要参与者,其环保绩效评级直接关系到环境保护的成效。朗观视觉将详细解析环保绩效评级的ABCD四等级,帮助读者了解不同等级的特点和评判标准,进而引导企业提高…

大模型扫盲系列——初识大模型

本文将从大模型的原理、训练过程、prompt和相关应用介绍等方面进行分析,帮助读者初步了解大模型。 近年来,随着计算机技术和大数据的快速发展,深度学习在各个领域取得了显著的成果。为了提高模型的性能,研究者们不断尝试增加模型…

MySQL损坏,使用data恢复数据

MySQL损坏,重装MySQL使用data文件恢复数据库 1.清空相关注册表(清空安装残留)2.下载合适MySQL版本(与损坏数据库版本相同)3.数据恢复4.Windows server MySQL备份bat5.设置Windows定时执行 # 初始化安装 mysqld -install# 查看数据初始化密码 mysqld --initialize --…

工业 UI 风格,展现独特魅力

工业 UI 风格,展现独特魅力

Mysql之不使用部署在k8s集群的Mysql而是选择单独部署的Mysql的原因

测试准备: 线程组:并发数100,持续时间2min 两个请求:使用k8s集群中的mysql的wordpress对应端口30011 使用单独部署的mysql的wordpress的对应端口为30022 访问同一个博客 测试结果: 汇总报告: 响应时间图&…