救命!接手了一个老项目,见到了从业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. 强行代码复用

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

官网首屏:太漂亮了,真是着了它的魔,上了它的道。

大气的企业官网致力于提供用户友好的界面和优质的用户体验。网页经过精心设计和开发,旨在展示客户的品牌形象和产品信息,并为用户提供便捷的服务和沟通渠道。 官网设计追求简洁、美观、易用的原则,以吸引用户的注意力并提供清晰的导航和信息…

【文档智能 RAG】RAG增强之路-智能文档解析关键技术难点及PDF解析工具PDFlux

前言 在私域知识问答和企业知识工程领域,结合Retrieval-Augmented Generation(RAG)模型和大型语言模型(LLM)已成为主流方法。然而,企业中存在着大量的PDF文件,PDF解析的低准确性显著影响了基于…

git配置3 - 一个git仓库同时push到多个代码托管平台

1. 应用场景2. 单个代码托管平台时3. 多个代码托管平台时 3.1. 在github上创建一个项目3.2. 添加远端仓库关联3.3. 查看关联的远端仓库3.4. 推送代码到github 1. 应用场景 场景一: 你有一个开源的项目,你希望托管到多个开源代码托管平台。比如github…

springer 在线投稿编译踩坑

springer投稿,在线编译踩坑总结 注意: 有的期刊需要双栏,而预定义的模板中可能为单栏,需要增加iicol选项。 例如: \documentclass[sn-mathphys-num]{sn-jnl}% —>\documentclass[sn-mathphys-num, iicol]{sn-jnl}…

关于BERT和embedding

embedding到一个低维向量,但是需要回到onehot高维表示,所以大部分填词游戏最后都需要加上一个MLP接头。 word2vec如此简单的结构,学习到的是embedding 基于计数的统计方法和word2vec融合就形成了glove词嵌入模型 总结:通过各种…

新版嘎嘎快充互联互通系统配置文档

宝塔环境配置 登录宝塔账号,安装nginx、mysql5.7、php7.2、supervisor、redisphp安装扩展: 1)安装swooleloader72 将嘎嘎官方提供的swoole_loader_72_nts.so文件上传到 /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718…

openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写

文章目录 openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写300.1 概述300.2 使用指导300.2.1 前提条件300.2.2 使用方法示例300.3 获取帮助300.4 命令参考300.5 常见问题处理openGauss学习笔记-300 openGauss AI特性-AI…

数智教育创新如何向未来?腾讯云与你探索革新之路

引言 随着科技革命的快速发展,掀起教育领域的变革,新理念、新技术、新模式、新应用正不断涌现,正塑造着教育的未来形态。未来科技还将如何赋能教育创新? 5月31日,由腾讯云TVP 与西安电子科技大学联合举办的「数智教育的…

618洗地机全网热门推荐,跟着买错不了

步入酷热夏天,家中的清洁工作也迎来了新的挑战。天气炎热,细菌、异味滋生的困扰让日常打扫变得不再轻松,这时一台高性能的洗地机就成了提升生活品质的必备良品。不同于洗地机的技术与类别繁多,洗地机虽原理不复杂,但在…

JProfiler 性能分析案列——dump.hprof 堆内存快照文件分析排查内存溢出

在 windows 环境下实现。 一、配置 JVM 参数 配置两个 JVM 参数: -XX:HeapDumpOnOutOfMemoryError,配置这个参数,会在发生内存溢出时 dump 生成内存快照文件(xxx.hprof)-XX:HeapDumpPathF:\logs,指定生成…

04.VisionMaster 机器视觉找圆工具

VisionMaster 机器视觉找圆工具 定义 先检测出多个边缘点然后拟合成圆形,可用于圆的定位与测量 注意:找圆工具 最好和【位置修正】模块一起使用。具体可以看下面的示例。 参数说明: 扇环半径:圆环ROI的内外圆半径 边缘类型&a…

C51学习归纳13 --- AD/DA转换

AD/DA转换实现了计算机和模拟信号的连接,扩展了计算机的应用场景,为模拟信号数字化提供了底层支持。 AD转换通常是多个输入通道,使用多路选择器连接到AD开关,实现AD多路复用的目的,提高利用率。 AD/DA转换可以使用串口…

Python也能“零延迟“通信吗?ZeroMQ带你开启高速模式!

目录 1、零基础入门ZeroMQ 🚀 1.1 ZeroMQ简介与安装 1.2 基础概念:Socket类型详解 1.3 实战演练:Hello World示例 2、深入浅出消息模式 🔌 2.1 请求-应答模式( REQ/REP ) 2.2 发布-订阅模式( PUB/SUB ) 2.3 推送-拉取模式( PUSH/PULL ) 3、Python实战ZeroM…

这个网站有点意思,可做SPRINGBOOT的启动图

在 SpringBoot 项目的 resources 目录下新建一个 banner.txt 文本文件,然后将启动 Banner 粘贴到此文本文件中,启动项目,即可在控制台展示对应的内容信息。 下面这个工具很好用,收藏精哦

太阳光模拟器辐照不均匀性对涂层材料测试的影响

太阳光模拟器辐照不均匀性对涂层材料测试的影响 太阳光模拟器的辐照不均匀性对涂层材料的测试结果有显著影响。具体来说,辐照不均匀性可能导致以下几个方面的问题: 光谱分布不均匀 如果太阳光模拟器的光谱分布不均匀,那么模拟出的光谱与实际…

VirtualBox配置双网卡实现宿主机和虚拟机相互访问以及虚拟机外网访问

目录 一:背景 二:实现 三:总结 一:背景 在VirtualBox中配置虚拟机以实现本地主机远程登录、访问外网以及虚拟机之间的相互访问,是一种常见的虚拟化实践,适用于多种场景,如开发、测试和远程工…

iSlide软件下载附加详细安装教程

​iSlide 是一款基于 PPT 的插件工具,包含 52 个设计辅助功能,9 大在线资源库,超 50 万专业 PPT 模板/素材 支持 macOS 和 Windows 系统(兼容 Office 和 WPS)。 可以对一组元素(文本框,图形&…

二进制中的相反数

相反数的本质 相反数的本质是两数相加等于 0,1 加上 1 的相反数-1 永远等于 0。 二进制中取相反数的公式 对于二进制运算来说减法是通过加上一个负数实现的,所以想要达成两数相加等于 0 的情况一定是通过溢出来实现。两数相加等于 0 可以带入为 1111…

Vue部分文件说明

1.eslintignore文件 Eslint会忽略的文件 # Eslint 会忽略的文件.DS_Store node_modules dist dist-ssr *.local .npmrc 2.gitignore # Git 会忽略的文件.DS_Store node_modules dist dist-ssr .eslintcache# Local env files *.local# Logs logs *.log npm-debug.log* yarn-de…

亚马逊测评自养号误区解析

大家都知道亚马逊的评价对产品listing曝光和流量是有很大影响,但是亚马逊的评价又不是那么容易获取的,再加上亚马逊平台风控的不断严苛,所以卖家们想尽办法打造爆款listing是每个亚马逊卖家共同的目标,尤其是当旺季到来时&#xf…