最有趣的代码or最蠢的代码?

news2024/11/24 16:41:59

如何写漂亮的代码

“愚蠢的代码” 是一个主观的说法,因为代码的质量取决于许多因素,包括编写代码的人的经验、知识水平以及代码的上下文。但是,有一些常见的编程实践,如果被采用,可能会导致代码被认为是愚蠢的或低质量的。以下是一些可能导致代码不佳的例子:

缺乏注释和文档:没有足够的注释和文档,使得其他人难以理解代码的用途和工作原理。

长函数和方法:将太多的功能性代码堆积在一个函数或方法中,使得代码难以维护和理解。

重复的代码:多次复制和粘贴相同的代码段,而不是使用函数或模块来避免冗余。

硬编码的值:将常量和魔术数字硬编码到代码中,而不是使用常量或配置文件来提高可维护性。

深度嵌套的条件语句:过多的嵌套条件语句会使代码难以阅读和测试。

忽略错误处理:不处理错误或异常情况,导致应用程序在出现问题时崩溃或产生不可预测的行为。

不恰当的变量命名:使用不具有描述性的变量名,使代码难以理解。

过度复杂的代码:过度使用设计模式、复杂的数据结构或高级功能,使代码变得过于复杂,难以理解和维护。

缺乏测试:没有充分的单元测试和集成测试,使得难以发现和修复潜在的问题。

没有代码审查:没有其他人审查代码,以提供反馈和改进建议。

编写高质量的代码需要遵循良好的编程实践,以确保代码可读性、可维护性和可扩展性。此外,代码质量还受到项目需求和时间约束的影响。因此,在评估代码时,应考虑上下文和目标。

案例欣赏

1、case 119
在这里插入图片描述
2、加载图片
在这里插入图片描述

优美的注释

/*
*Dear Maintainer
*Once you are done trying to ‘optimize’ this routine,
*and you have realized what a terrible mistake that was,
*please increment the following counter as a warning
*to the next guy.
*total_hours_wasted_here = 73
*
亲爱的维护者
如果尝试对这段程序进行’优化’
并且您已经意识到这是一个多么可怕的错误,
请增加以下计数器的个数用来对后来人进行警告
这里总共浪费的时间= 73
2.
Exception up = new Exception(“Something is really wrong.”);
throw up; //ha ha

// Magic. Do not touch.

return 1; # returns 1

Catch (Exception e) {
//who cares?
}

/**
*Always returns true.
*/
public boolean isAvailable() {
return false;
}
11.
// I can’t divide with zero, so I have to divide with something very similar
result = number / 0.00000000000001.

我不能除以0,所以我要除以一个非常相似的数

.

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

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

相关文章

深入理解Docker:简化部署与管理的利器

文章目录 引言Docker简介Docker的背景和发展Docker的优势和特点 Docker的基本概念和架构镜像(Image)容器(Container)仓库(Repository)Docker架构 Docker的常用命令和操作Docker的安装和配置Docker镜像的管理…

墨者学院——登录密码重置漏洞分析溯源

先用17101304128的进行抓包 点击获取验证码 发现没有验证码,所以要用18868345809拿验证 抓包后,把17开头的电话号码改成了18开头的,然后获取验证码 然后用17开头的电话号码重置,用18开头的验证码 进行重置密码,拿到…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战

个人实战文档 本次实战是对自己整个api阶段的总结。 参考效果如下地址: http://erabbit.itheima.net/#/product/3995139 本次实战主要分为以下几个模块。 顶部导航模块 需求: 顶部导航开始不显示等页面滑到主导航栏,这个新顶部导航栏滑…

日志导致的io负载高和cpu飙升问题

1.问题 项目上线前需要对接口进行性能测试,发现有2个查询接口性能始终达不到上线要求 2.分析过程 取线程快照 打印线程堆栈日志: 通过上面发现54个线程处于 waiting on condition 状态,在等待写入磁盘日志,所以断定瓶颈在写入日志io这块所以将日志打印关闭,再部署一版试…

深度学习笔记之优化算法(三)动量法的简单认识

机器学习笔记之优化算法——动量法的简单认识 引言回顾:条件数与随机梯度下降的相应缺陷动量法简单认识动量法的算法过程描述附:动量法示例代码 引言 上一节介绍了随机梯度下降 ( Stochastic Gradient Descent,SGD ) (\text{Stochastic Gradient Descen…

再不跳槽,就晚了....

从时间节点上来看,3月、4月是每年跳槽的黄金季! 以 BAT 为代表的互联网大厂,无论是薪资待遇、还是平台和福利,都一直是求职者眼中的香饽饽,“大厂经历” 在国内就业环境中无异于一块金子招牌。在这金三银四的时间里&a…

基于SVM+TensorFlow+Django的酒店评论打分智能推荐系统——机器学习算法应用(含python工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境方法一方法二 安装其他模块安装MySQL 数据库 模块实现1. 数据预处理1)数据整合2)文本清洗3)文本分词 相关其它博客工程源代码下载其它资料下载 前言 本项目以支…

三十一、【进阶】B+树的演变过程

1、B树简单介绍 (1)介绍:B树也属于B树,是B树的变种 (2)特点:所有的数据都位于叶子节点上,叶子节点上的所有元素形成了一个单项链表 (3)图示: 2…

多微信如何自动发朋友圈?

想要做私域,朋友圈是我们不可忽视的一部分。无论是促进潜在客户下单,还是引导老客户二次下单,朋友圈的经营需要我们用心去打造。 这怎么理解呢?我们可以在一天内定时发送几条朋友圈,分段时间发,这样微信好…

av_read_frame error: Connection reset by peer

播放器加上这个选项即可:setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"reconnect",1) 具体出处参照源码:

小程序 词云图 echarts-for-weixin-wordcloud

GitHub - clydee-geng/echarts-for-weixin-wordcloud: echarts词云微信小程序版 这个是适配与小程序版的词云图,之前有找到ucharts来代替,但是ucharts的词云图功能有两个缺点:1.无法根据值的大小显示词云图的大小;2.显示的顺序是…

前端 vs 后端️: 深入探讨Web开发的两大王国

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

数据防泄密软件排行榜(企业电脑防泄密软件哪一款好用,有哪些推荐)

在当今信息化社会,数据已经成为了企业的重要资产。然而,数据的安全问题也日益突出,尤其是数据的泄露,不仅会导致企业的商业秘密被竞争对手获取,还可能引发一系列的法律问题。因此,数据防泄密软件的重要性不…

九、互联网技术——记忆背诵

文章目录 一、网络操作系统的功能和特性二、网络操作系统的逻辑构成四、主动攻击和被动攻击五、安全机制和安全服务六、信息与数据七、数据处理与数据管理八、数据模型九、概念模型的E-R表示方法十、四种数据模型十一、数据库系统组成十二、DBMS主要功能十三、数据库系统的3级模…

【yolo系列:YOLOV7改进-添加EIOU,SIOU,AlphaIOU,FocalEIOU.】

yolo系列文章目录 在YoloV7中添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU. 2023-2-7 更新 yolov7添加Wise-IoUB站链接 重磅!!!!! YOLO系列模型改进损失函数 文章目录 yolo系列文章目录一、初始的yolov7损失函数二、首…

P1017 [NOIP2000 提高组] 进制转换

#include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std;void zhuan(int n,int r) {if(n0) return ;int mn%r;//m为余数 if(m<0) m-r,nr;//如果余数小于0&#xff0c;转化为正数//将余数转化为ascll码方便输出…

.NET 使用 ZXing.Net 生成二维码,并识别

前言 前面已经分享给很多创建二维码&#xff0c;条形码。。。等一系列的方式 各有优缺点&#xff0c;暂时不做评价。今天推荐ZXing.Net 。也是比较全面的一种方式&#xff0c;还支持解码 .NET 二维码生成库-QrCodeGenerator商业库–Spire.BarcodeThoughtWorks.QRCodeQRCoderS…

三维重建_使用OpenMVG/OpenMVS重建场景

目录 1. 安装环境 1.1 安装OpenMVS 1.2 安装OpenMVG 2. 测试 2.1 下载数据 2.2 进行三维重建 2.2.1 OpenMVG提取稀疏点云 2.2.2 OpenMVS稠密化点云/网格化/纹理贴图 3. 运行遇到问题记录 4. 参考 1. 安装环境 本地环境&#xff1a; Ubuntu20.04 没有cuda 1.1 安装O…

英特尔参与 CentOS Stream 项目

导读红帽官方发布公告欢迎英特尔参与进 CentOS Stream 项目&#xff0c;并表示 “这一举措不仅进一步深化了我们长期的合作关系&#xff0c;也构建在英特尔已经在 Fedora 项目中积极贡献的基础之上。” 目前&#xff0c;CentOS Stream 共包括以下特别兴趣小组&#xff08;SIG&a…

排序算法之【归并排序】

&#x1f4d9;作者简介&#xff1a; 清水加冰&#xff0c;目前大二在读&#xff0c;正在学习C/C、Python、操作系统、数据库等。 &#x1f4d8;相关专栏&#xff1a;C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…