代码大全2,阅读3

news/2025/10/29 23:09:44/文章来源:https://www.cnblogs.com/wsh-wsh-/p/19175584

“结对编程”。作者在 “成功运用结对编程的关键” 一节里,列了 10 条准则,每一条都戳中了 “结对容易踩的坑”。比如 “不要让结对编程变成旁观”,这是我自己实践过才懂的痛 —— 上次和同学结对做一个小项目,他负责敲代码,我坐在旁边看,刚开始还能跟上,后来他敲得越来越快,我就成了 “摆设”,最后项目出 bug,我都不知道问题在哪。后来看到作者说 “不敲代码的人要主动分析逻辑、提优化建议,比如‘这里用函数封装会不会更简洁’‘变量名要不要改得更清晰’”,才明白 “结对不是‘一人干活一人看’,而是‘两个人同步思考、互补短板’”。后来再结对时,我和队友约定:每写 30 分钟就换一次角色,不敲代码时拿着笔记本记 “待优化点”,比如 “这段循环可以用 foreach 替代”“这里要加注释说明边界条件”,最后效率比上次高了一倍,还少了很多低级 bug。
还有几条准则让我印象很深。比如 “不要强迫在简单的问题上用结对编程”—— 作者说 “比如写一个简单的登录接口,一个人 1 小时能搞定,结对反而会因为‘讨论细节’浪费时间”。之前我和队友为了 “完成结对任务”,连 “写一个打印函数” 都要结对,结果花了 40 分钟,比自己写还慢,现在才明白 “结对适合复杂问题,比如核心算法实现、多模块联调,简单任务单独做更高效”。另外 “避免新手组合” 也很关键 —— 作者解释 “两个新手结对,容易陷入‘都不懂却互相误导’的困境,比如都不知道‘内存泄漏怎么排查’,讨论半天也没结果”,这点我也有体会:之前和另一个刚学编程的同学结对,卡在 “指针引用错误” 上,两个人查了 1 小时资料都没解决,后来找了个有经验的学长点拨,5 分钟就找到问题,这才明白 “新手最好和有经验的人结对,能更快学到方法”。
再谈 “软件工艺” 的核心 ——“首先为人写程序,其次才是为机器”。这句话在书中反复出现,比如讲 “注释” 时,作者说 “注释不是‘解释代码做了什么’,而是‘为什么这么做’”;讲 “变量名” 时,说 “不用怕变量名长,‘user_login_status’比‘uls’好懂 10 倍”。我后来改了自己的编程习惯:写注释时会加 “设计思路”,比如 “这里用链表而非数组,是因为后续需要频繁插入数据”;变量名不用缩写,哪怕长一点也要清晰。上次队友看我写的代码,说 “不用问你就能看懂逻辑”,这才真正体会到 “为人写程序” 不是口号,而是能让协作变简单的实际行动。
另外,书中关于 “编程语言选择” 的建议,也解决了我之前的困惑。之前总纠结 “该学 Python 还是 Java”“要不要同时学多门语言”,作者在 “深入一门语言去编程,不浮于表面” 一节里说:“与其‘每门语言懂一点皮毛’,不如‘精通一门后再拓展’—— 比如先把 Java 的‘面向对象思想’吃透,再学 Python 时,很容易理解‘类与对象’的共性”。我现在的计划是:先把 Python 学透,比如掌握 “装饰器”“生成器” 这些核心特性,完成 1-2 个完整项目(比如个人博客、数据可视化工具),再去了解 Java 的 “多线程”“Spring 框架”,这样比 “同时学两门却都不精通” 更扎实。
读完这部分最大的感受是:《代码大全》讲的不只是 “怎么写代码”,更是 “怎么用工程思维做编程”—— 从结对协作到代码可读性,每一点都是为了 “让软件开发更高效、更可持续”,这可能就是它能成为经典的原因。
如果还想进一步补充,比如针对 “结对编程的具体流程”“某门语言的学习计划” 展开,或者增加 “书中其他章节的阅读感悟”,都可以告诉我。要不要我帮你整理一份 “《代码大全》实践行动手册”,把书中的核心观点对应成可落地的编程习惯(比如 “变量命名规范”“结对编程步骤”),方便你后续对照执行?

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

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

相关文章

从零开始编写一个办公软件(二、自适应窗口)

桌面开发通常需要面对因为屏幕大小不同产生的视觉过大或过小的问题,基本都会被要求做大小自适应处理。网上一般介绍的是ViewBox,简单方便,但不仅面临性能的问题,部分情况下还会出现UI失真。我这里介绍下更繁琐但实…

10月29日日记

1.今天学习马哲以及;离散数学。 2.明天上体育课 3.Redis为什么使用跳跃表而不是平衡树?

2025.10.29总结

那个心理咨询项目学习模块完成学习包的添加和展示,还有完成进度的展示。后续需要为学习包添加视频,测验,测验后生成报告

代码大全2,阅读1

“编程是手艺,更是态度” 的表述,又让我沉下心来读。最先锁定第 33 章 “个人性格”,是因为很好奇:为什么一本讲代码的书,会把 “性格” 放在重要位置?读完才发现,作者把 “程序员该有的特质” 拆解得既具体又透…

代码大全2,阅读2

“布局清晰、控制逻辑严谨”,才是 “好代码” 的标配。但过程中也有不少和作者观点 “碰撞” 的地方,反而让思考更深入。 先说说 “数据声明的布局”。作者提了三个核心建议:每行只声明一个变量、变量声明贴近首次使…

UNIQUE VISION Programming Contest 2024 Christmas (AtCoder Beginner Contest 385)

D - Santa Claus 2 map<int,set> E - Snowflake Tree 开始想到枚举中心点,x=度数,y=min儿子度数-1,其余全要删除,删除越少留下越多,留下1+x+xy,删n-(1+x+xy) 样例1告诉我们可以删除某个子树,这样还是y=min儿…

如果我想在项目发布后,动态更新组件,如何使用模块联邦实现?

要在项目发布后动态更新组件,并使用 Webpack Module Federation(模块联邦) 实现,核心思路是: 将组件拆分为独立的 Remote 应用,Host 应用在运行时从远程加载最新版本的组件,而无需重新构建或部署 Host。 这正是…

静态类型、动态类型、强类型、弱类型

静态类型、动态类型、强类型、弱类型 静态类型与动态类型 变量类型是否会随赋值变化——何时确定变量的类型。静态类型:代码中需要指定变量的类型(或者自动推导),编译期就进行类型检查,无须运行代码即可确定变量的…

AI浪潮下的职业迷思:机遇还是泡沫?

最近刷到一堆AI新闻,从创业融资到巨头裁员,感觉整个行业像坐过山车。一边是剪映前产品负责人廖谦离职创业,半个月就拿下几百万美元投资,搞多模态Agent;另一边Meta却在清晨五点发裁员邮件,连工作十几年的AI科学家…

10/29

dota2水平更上一层lou,冠绝局把把c,就是恐怖利刃太吃队友了,不一定能打好。今天预备学习了tomcat配置 und 离散数学111

[Docker] Docker拉取镜像url详解

[Docker] Docker拉取镜像url详解$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");目录完整命令简化版本 完整命令 # docker - Docker 客户端命令行工具,用于…

activemqCVE-2015-5254漏洞复现

activemq/CVE-2015-5254漏洞复现 原理 该漏洞源于序列化的Java Message Service(JMS)ObjectMessage对象存在反序列化漏洞,同时程序没有对代理中序列化的类做限制,导致攻击者可以构造恶意的序列化的类进行RCE攻击。 影…

模块联邦共享组件的时候如何进行版本管理

在使用 Webpack Module Federation(模块联邦) 共享组件时,版本管理 是一个关键挑战。 因为微前端或微组件架构中,多个应用(Host 和 Remotes)可能由不同团队维护、独立部署,若组件版本不一致,极易导致运行时错误…

查询排序与表连接

一、分组(group by)相关 (一)分组(group by)的作用 按逻辑次序合并具有重复值的字段,用于查看指定分组的聚合情况,查询结果可同时包含普通列和聚合函数(如 avg、max、min、count 等)。 (二)分组与过滤的语…

pyqt 自定义QTableWidget

自定义QTableWidget `import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QVBoxLayout, QWidget, QComboBox, QTabWidget, QTableWidget, QTableWidgetItem) from PyQt5.QtCore import Qt import re…

价值主体的技术实现:基于Free Transformer潜变量Z的AI元人文架构探索

基于Free Transformer的潜变量Z技术探索"价值主体行为"时,岐金兰揭示的两个核心担忧,指出了理论技术化过程中的关键风险。这些风险若不能得到妥善解决,将导致AI元人文构想从生机勃勃的价值生态系统,蜕变…

第二十二天

《程序员修炼之道:从小工到专家》阅读笔记:思维重塑 在技术迭代如浪潮的行业里,这本书并非罗列API的工具书,而是为程序员搭建了从“完成任务”到“创造价值”的思维桥梁。它最核心的启示在于:优秀的程序员,本质是…

Problemsetting

List of my problems其实我很不会出题, 所以不会常更新可能不会更新.Problem Difficulty[集训队互测 2023] 优惠购物 3300【UER #12】电子运动 2800【UNR #9】星图 2800【UNR #9】Sing 2900Canvas Painting ?cooperat…

记录一下我最近一年写的脚本,不知不觉近100个了!

记录一下我最近一年写的脚本,不知不觉近100个了! 一个系统初始化的脚本 @echo offecho 右击鼠标以管理员身份运行,按任意键退出 echo 开启远程桌面连接Wmic OS Get Caption | Findstr /i "7" >nul …

The 2025 Hunan Collegiate Programming Contest

Preface 不知道 VP 什么就找了场 QOJ 上最新的比赛,结果发现打的时候就我们一个队,全程无榜就很难受 而且这场的题目质量确实让人不敢恭维,一堆原题和典题,基本没有那种有意思的思维题 最后 9 of 11,剩下两个感觉…