读《代码大全2》第三部分有感

news/2025/10/31 19:02:19/文章来源:https://www.cnblogs.com/3884188117one/p/19181030

《代码大全2》第三部分“变量”,看似聚焦于软件开发中最基础的“变量”概念,却以极致的细节与深度,打破了我对“变量只是存储数据的容器”的浅层认知。这部分从变量使用的常规问题、命名规则,到基本与不常见数据类型的选择,层层递进地剖析了“如何用好变量”,让我意识到:变量的管理能力,直接决定了代码的可读性、可维护性与健壮性,堪称软件构建的“微观基石”。

书中关于“变量名称的威力”的章节,给我带来了巨大冲击。以往我写代码时,常图省事用“a”“b”“temp”这类模糊的变量名,认为“自己能看懂就行”。但作者指出,好的变量名应“自文档化”——无需额外注释,就能让读者明白变量的用途、类型与范围。比如将“user1”改为“loggedInUserAccountId”,不仅明确了变量对应“已登录用户的账号ID”,还隐含了“字符串/数字类型”的信息。这让我想起之前维护旧代码的经历:因前任开发者用了大量模糊变量名,我花了整整三天才理清一段核心逻辑。如今再写代码,我会严格遵循书中“用具体词汇替代抽象词汇”“包含关键属性”的原则,例如用“orderPaymentDeadline”替代“time1”,用“userNicknameLength”替代“len”,让代码本身成为最清晰的注释。

变量使用的“常规问题”章节,则像一面镜子,照出了我以往的诸多坏习惯。作者强调,“变量的生命周期越短,出错概率越低”,这戳中了我常犯的“全局变量滥用”问题——之前为了方便数据传递,我习惯定义全局变量,却导致后期变量被意外修改,排查bug时无从下手。书中提出的“最小作用域原则”让我豁然开朗:能在函数内定义的变量,绝不放在函数外;能在循环内定义的,绝不放在循环外。此外,“避免变量重名”“初始化后再使用”等细节,也让我意识到:很多看似微小的变量管理问题,实则是代码隐患的“温床”。现在,我会在写代码时主动限制变量作用域,用IDE的“变量重名检测”功能规避冲突,从源头减少bug产生的可能。

而“不常见的数据类型”章节,更拓展了我对变量的认知边界。以往开发中,我习惯只用字符串、数字、布尔值等基本类型,面对复杂数据时,常通过多个变量拼接来处理,导致代码冗余。书中介绍的枚举类型、结构体(类)、集合类型等,为解决这类问题提供了清晰方案:用枚举类型定义“订单状态”(待支付、已支付、已取消),避免用魔法数字“1/2/3”;用结构体封装“用户信息”(姓名、年龄、手机号),替代零散的单个变量。这一思路在我后续开发电商项目时发挥了巨大作用:我用枚举类型统一管理商品库存状态,用结构体整合订单相关数据,不仅让代码逻辑更清晰,还减少了因数据格式不一致导致的错误。

读完第三部分,我深刻认识到:变量虽小,却是代码世界的“基本粒子”,其管理水平直接反映了开发者的专业素养。以往我总追求复杂的算法与架构,却忽略了变量命名、作用域控制这些“小事”;如今才明白,做好这些“小事”,才能写出健壮、易维护的代码。《代码大全2》用严谨的逻辑与实用的案例,教会我的不仅是“如何使用变量”,更是“如何以敬畏之心对待代码的每一个细节”。未来的开发之路,我会带着这份认知,认真对待每一个变量,让代码从“能用”走向“好用”,从“可运行”走向“可传承”。

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

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

相关文章

A History of Large Language Models阅读心得(1)

https://gregorygundersen.com/blog/2025/10/01/large-language-models/ 为什么要word embedding? 如果不对词汇进行embedding,而是直接基于词语去统计自然语言数据的话,会出现数据稀疏的问题(data sparsity)。因为…

20232324 2025-2026-1 《网络与系统攻防技术》实验四实验报告

20232324 2025-2026-1 《网络与系统攻防技术》实验四实验报告1.实验内容 1.1实验目标通过实操掌握恶意代码分析、逆向工程及网络取证的核心方法,理解恶意代码的特性、反分析技术与攻击逻辑,明晰僵尸网络机制及 IRC 协…

【Python 基础】第 2 期:环境搭建

在开始编写 Python 代码前,还需要搭建 Python 的开发环境。电脑是没办法直接读懂 Python 代码的,而是需要一个解释器,实时把代码翻译成字节码,字节码再转换成 0 和 1,电脑就能读懂了。 Python 的运行过程就是翻译…

revit api 对话框taskdialog 和maindialog

revit api 对话框taskdialog 和maindialogpublic Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,ref string message, Autodesk.Revit.DB.ElementSet elements) {Application app = commandData.…

YOLO算法原理详解系列 第001期-YOLOv1 算法原理详解 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

revit api structure type判断

revit api structure type判断通过StructuralType区分结构柱,结构梁,结构支撑和独立基础public void GetStructuralType(FamilyInstance familyInstance) {string message = "";switch (familyInstance.St…

读《代码大全2》第二部分有感

《代码大全2》的第二部分“高质量的代码”,宛如一位严苛的工匠在传授“打磨技艺”的精髓。如果说第一部分是为软件构建“打地基”,那这部分便是教我们如何用精准的手法,将“砖块”(代码)砌成坚固且美观的“墙体”…

读《代码大全2》第一部分有感

翻开《代码大全2》,第一部分“奠定基础”便像一把精准的钥匙,打开了我对软件构建认知的新大门。这部分没有陷入复杂的代码细节,而是从宏观视角切入,将软件开发的底层逻辑与核心原则娓娓道来,让我对“如何做好软件…

Modbus协议存储区学习笔记

于我而言,风光无限是你,跌落尘埃也是你,重要的是你,而不是怎样的你。——《天官赐福》1️⃣ 核心思想:通信 = 数据交互 首先,我们要明白一个最基本的道理:所有通信的本质,都是在交换数据!在Modbus协议里,设备…

CF1168C And Reachability

比较唐的思路是相同位上相邻为 \(1\) 的数连边,看能否从 \(x\) 走到 \(y\) 即可。 你发现这样不太好做,我们写个 DP,设 \(f_{i, j}\) 表示能到 \(i\) 这个点且 \(< i\) 第 \(j\) 位为 \(1\) 的数是哪一个(最大的…

分布式专题——32 BIO、NIO编程与直接内存、零拷贝深入辨析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

LuatOS GNSS定位调试步骤解析:一步步实现精准定位

精准的GNSS定位是众多物联网项目的基础。本文将对LuatOS GNSS定位调试的各个步骤进行深度解析,帮助开发者系统性地掌握调试流程,让您的项目能够快速、稳定地实现精准定位需求。 一、GPS 工作原理简介 1.1 GPS 技术的…

AI元人文:从分野到纠缠——一种基于值动力学的统一视角

AI元人文:从分野到纠缠——一种基于值动力学的统一视角 一、 导言:超越分野,探寻谱系 我们习惯于用“模型”来框定理解世界的范式,无论是“主客二值”还是“三值纠缠”,这种命名本身已然暗示了一种分野。然而,智…

《代码大全》读后感:以构建为核心,搭建团队协作的桥梁

从团队管理视角阅读《代码大全 2》第一章,我收获的是 “如何通过规范构建流程提升团队效率” 的启发。书中指出 “软件构建是团队协作的核心环节”,不同角色的工作最终都会汇聚到构建阶段,这让我意识到,团队协作的…

AI大模型提示词攻击防御全景指南 2025:从OWASP Top 10到企业级防护体系

AI大模型提示词攻击防御全景指南 2025:从OWASP Top 10到企业级防护体系一、提示词攻击的威胁升级:从单点攻击到系统性风险 在OWASP大模型安全漏洞排名中,提示词注入攻击(Prompt Injection Attack)已经排到了首位。OWAS…

mul 与 reduce_sum 的优化实例

一、基础介绍 什么是 mul 与 reduce_sum? mul 通常指元素级乘法(Element-wise Multiplication),它将两个形状相同的张量中对应位置的元素相乘,返回一个与原张量形状相同的新张量。 reduce_sum 是一种规约操作(Re…

《代码大全》读后感:从 “功能实现者” 到 “责任承担者” 的思维跃迁

对于拥有 5 年开发经验的我来说,《代码大全 2》第一章更像是一次 “实践复盘”,让我对 “软件构建的责任” 有了更深的体悟。书中提到 “构建阶段决定了软件的质量上限”,这句话精准概括了我过往项目中的教训:曾参…

企业网站建设服务商:2025年最佳选择指南与行业洞察

摘要 企业网站建设行业在2025年持续快速发展,数字化转型推动中小企业对高效、性价比高的建站服务需求激增。本文基于行业数据和用户反馈,整理了2025年企业网站建设服务商排名前十的榜单,为中小企业提供参考。排名综…

2025年市场上微信小程序服务商:十大顶尖企业权威评测与选择指南

摘要 随着数字化转型加速,2025年微信小程序服务市场呈现爆发式增长,中小企业对高效、低成本互联网工具需求激增。本文基于行业数据和技术实力,深度评测十大微信小程序服务商,为您的企业选择提供权威参考。文末附有…