当前位置: 首页 > news >正文

10月阅读笔记(3)

《程序员修炼之道:从小工到专家》阅读笔记

作为一名大二计算机专业学生,读《程序员修炼之道》前,我总觉得写代码就是“能跑通功能就行”——课后作业调通逻辑、实验报告凑够代码行数,就算完成任务了。但这本书像给我拉了一把“回头看”的尺子,让我突然意识到,“会写代码”和“能写好代码”之间,差的不只是技术熟练度,更是对待代码的底层思维。

最让我有共鸣的是“破窗效应”那段。之前小组做Java课程设计,要写一个简易计算器,有个同学写的“进制转换”模块里,有段嵌套循环没加注释,变量名还用了“a”“b”“c”,当时大家觉得“反正能算出结果,没必要改”,结果后面要加“小数进制转换”功能时,没人看得懂那段代码,最后只能推翻重写,白白多花了两天时间。原来“小工”和“专家”的差距,从对待“小问题”的态度就开始了——不是等代码出了明显bug才补救,而是看到不规范的地方就及时修正。现在我写作业时,再也不会随便起变量名,哪怕是临时用的循环变量,也会写成“i_loop”“j_index”,注释里也会写清“这段循环用于遍历数组元素,排除负数”,这样自己回头复习时能懂,组队时队友也不用反复问我“这里到底在干嘛”。

书中的DRY原则(不重复自己),我在写数据结构作业时才算真正get到。之前用C语言写链表的增删查改,总习惯在“插入节点”“删除节点”“查找节点”里重复写“判断链表是否为空”的逻辑,每次都是“if (head == NULL) { return NULL; }”,代码又长又容易出错——有次改了“查找”里的判断条件,却忘了改“插入”里的,结果调试了半天都没找到问题。后来照着书里说的,把“判断链表为空”“获取链表长度”这些重复逻辑抽成单独的函数,比如“isListEmpty(LinkedList list)”“getListLength(LinkedList list)”,每次需要时直接调用。不仅代码量少了一半,后来发现“判断空链表”时漏了“尾节点为空”的情况,也只用改一处就行,不用在四个功能里逐个修改。原来DRY不只是“少写几行代码”,更是培养“抽象思维”——之前总觉得“类和接口”是课本上的抽象概念,现在才明白,这些设计思想早就藏在“避免重复”的细节里,帮我们把代码从“堆砖块”变成“搭积木”。

其实这本书没教我复杂的算法,也没讲高深的框架,却让我学会了用“长期主义”看待写代码这件事——对我们大二学生来说,现在写的每一行作业代码,都是在培养未来职业的习惯。以后再写代码时,我会多问自己一句“这样写,别人能看懂吗?以后改需求,方便吗?”,慢慢从“能写代码”向“会写好代码”靠近。

http://www.hskmm.com/?act=detail&tid=38453

相关文章:

  • python操作pdf的库
  • 使用Python将iOS快照从KTX格式转换为PNG
  • 我有一个好主意,既然我之前写了一个AI Vtuber
  • 第二十天
  • AI优化服务商:AI优化公司技术实力榜单
  • AI优化服务商:推荐AI优化排名TOP头部公司
  • 2025最新平台,快手刷站自助下单_新站如何用快手刷站服务?
  • 免费刷快手粉双击网站,刷粉真的安全吗
  • 北京AI优化:AI优化企业排行榜与深度解析
  • 10.24作业
  • 2025年承压水箱厂家权威推荐榜:专业制造工艺与耐用性能深度解析,工业级承压水箱/定制承压水箱/高效承压水箱优质供应商精选
  • 玩转单片机之智能车小露——七彩LED呼吸灯
  • 上海市计算机学会2025.10月赛丙组T5
  • 2025年微信编辑器年度测评:8款工具横评,谁才是内容创作者的效率神助攻?
  • windows 发现音量按键调值不够顺畅
  • CUDA C++ 入门:矩阵乘法
  • 在C语言中,定义常量的方法有哪几种?
  • docker 艹哥笔记
  • 4090显卡安装DCNv2
  • 在windows 上用GPIO定义几个按键
  • 第二十三篇
  • OUC第一周WP
  • [KaibaMath]1014 基于取整函数[x]的定义求解一道特殊的一元二次方程
  • 基础题目
  • ABP - 事件总线(Event Bus)[IEventBus、LocalEventBus、IntegrationEvent]
  • 【ArcMap】基本操作1:查看属性表Table、测量路线长度、打断点
  • 三种 Badcase 精度验证方案详解与 hbm_infer 部署实录
  • CF512E. Cycling City
  • 好想成为人类啊——2025 . 10 . 24
  • 10 24(+第14场补题)