创意歌曲:我是一段死代码

简介:

死代码就是没用的、但却留在程序库中的代码。这样的代码没有任何其它程序会调用它,没有任何函数、对象引用它。它就在程序中,但程序的运行状态跟它一点关系都没有。

为什么程序中会有死代码?有可能是程序库升级,老的接口不再使用。有可能是需求调整,但跟过时的需求相关的代码没有被删除。有可能是拷贝粘贴的过程中,有些没有用的函数也粘贴了过来。有可能是重构的过程中,把老代码保留下来备份用。等等…..

死代码是应该删除的代码。没有用的代码也就是没有人维护的代码。最后将变成没有人知道它是有什么用处的代码。后来的人也开始不敢删除这样的代码,怕万一什么地方需要用到它。于是这样的死代码积累的越来越多。技术债务越来越重。健康的项目慢慢腐烂变质。最终没有人能维护。

死代码应该及时大胆清除。很多程序员会担心,万一这段代码还有用呢?没错。因为你不熟悉这些代码,很多人修改过这些代码,没准什么地方还在用这段代码。但是,我们有代码保护工具:代码版本控制系统——git,svn等。即使是误删了代码,也能从历史记录里恢复。

最重要的,我们还有自动化测试。自动化测试是保证程序正确的最可靠的保证。无论做什么修改,添加功能,删除功能,最终都要运行自动化测试,让所有的测试点都绿灯通过。如果你还在担心害怕删除死代码,很可能是因为你的项目没有自动化测试。

死代码,如果你不删,它会很痛苦,因为无人问津它,无人调用它。它如同活死人,僵尸。

相关文章
|
存储 缓存 安全
一文讲透认证授权的那些事
权限管理一直都是初级程序员学习的一大重点,也是一大难点,有单点登录,有联合登录,有session有Token,有各种权限框架,还有什么是RBAC,以及分布式下如何做权限管理。
1053 0
|
SQL 存储 关系型数据库
|
8月前
|
机器学习/深度学习 资源调度 算法
半监督学习
半监督学习(SSL)结合少量标注数据和大量未标注数据,提升模型性能。经典方法包括自训练、协同训练和生成式方法;深度学习时代则涌现了一致性正则化、对比学习增强和基于图的SSL等技术。前沿突破涵盖扩散模型和大语言模型驱动的SSL。当前面临理论与工程挑战,未来探索方向包括量子SSL和神经符号融合。最新性能评估显示,在多个数据集上SSL方法显著优于传统全监督学习。
|
7月前
|
人工智能 JSON 物联网
基于 PAI-ArtLab 使用 ComfyUI 搭建对话式 AI 女友
本实验介绍了一款名为“AI虚拟女友——胡桃”的应用,通过ComfyUI后端与WebUI展示效果,结合LLM节点和知识图谱工具包(KG),实现角色人设稳定及长期记忆功能。用户可通过输入信息与AI互动,并自定义人设知识图谱和角色LoRA。操作步骤包括登录PAI ArtLab平台、加载工作流文件、配置角色参数并与AI对话。此外,还提供了Graph RAG技术详解及常见问题解答,帮助用户更好地理解和使用该系统。
|
机器学习/深度学习 人工智能 算法
|
监控 Python
python脚本批量生成grafana中dashboard的panel
python脚本批量生成grafana中dashboard的panel
618 0
python脚本批量生成grafana中dashboard的panel
|
存储 人工智能 NoSQL
【内含干货PPT下载】DTCC 2020 | 阿里云朱洁:NoSQL最新技术发展趋势
随着工业互联网时代的到来,数据库这门已经具有接近五十年历史的学科又绽放出新的生命活力,其中扮演着重要角色的NoSQL数据库也出现了更多的发展趋势。在第十一届中国数据库技术大会(DTCC2020)上,阿里云资深产品专家朱洁为大家介绍了NoSQL数据库业界最新趋势以及阿里云NoSQL技术的创新实践和阿里云NoSQL生态开放实践。
5055 0
【内含干货PPT下载】DTCC 2020 | 阿里云朱洁:NoSQL最新技术发展趋势
|
网络协议
DNS迁移到阿里云,这一篇就够了
阿里云DNS服务云解析,是亚洲用户量最大的DNS服务提供商,多年以来,以面向企业客户提供最稳定的DNS服务而著称。 如果您的域名还没有使用阿里云DNS服务,可以按照以下步骤将DNS平滑的从其他服务商、自建DNS服务器迁移至阿里云,不会造成对业务访问连续性造成影响。
|
SQL 运维 安全
用户指南—账号和安全—三权分立—功能介绍
PolarDB-X新增三权分立模式,您可以将高权限账号拥有的权限分给系统管理员、安全管理员和审计管理员这3个角色,避免因权限高度集中带来的风险,增强数据库的安全性。