☰
《构建之法》| 第四章两人合作:代码规范不是“表面文章“,AI结对编程怎么“知人善任“
2026/10/28 20:20:53 网站建设 项目流程

本文适合:和同事代码风格打架的开发者、从不做代码复审的团队、想尝试AI结对编程但不知道怎么配合的同学。

你将收获:代码风格与设计规范的核心要点、代码复审的3种形式与核查清单、结对编程的驾驶员/领航员模型、AI结对编程的"知人善任"策略、两人合作的5个阶段。

写在前面

前两章聚焦"个人"——个人技术、个人成长。从第四章开始,视角转向"人与人"的最小协作单位:两个人。

为什么是两个人?因为合作的最小单位不是团队,而是两个人。两个人都合作不好,团队协作就是空谈。

第四版在这一章新增了4.6 与AI结对编程——知人善任,这是前三版没有的,也是这一版最让我期待的部分。

01 | 代码规范:合作的前提是"说同一种语言"

两个人合作写代码,第一步不是分工,而是统一规范。否则你用Tab我空格、你驼峰命名我下划线,合并代码就是灾难。

1.1 代码风格规范

书中给出的原则只有三个词:简明、易读、无二义性。

具体规定覆盖了这些维度:

维度

规范要点

我的踩坑经历

缩进

4个空格,不用Tab

Tab在不同编辑器显示宽度不同,合并后代码"跳来跳去"

行宽

限制100字符

超长行在小屏幕上要左右滚,code review时根本看不全

括号

复杂条件表达式用括号标明优先级

a && b || c 谁优先?不加括号就是埋雷

断行

每个"{"和"}"独占一行

压缩在一行看起来"省空间",但debug时找不到括号对应关系

命名

Pascal形式(类名)/ Camel形式(变量)

一个项目里混用两种风格,阅读体验灾难级

注释

随代码更新,误导性注释比没有更糟

改了代码忘了改注释,同事按旧注释理解,直接踩坑

1.2 代码设计规范

风格规范管的是"怎么写",设计规范管的是"怎么设计":

函数:只做一件事,并且要做好

goto:有助于逻辑清晰时可以用,不必视如洪水猛兽

错误处理:Debug版验证所有参数,正式版验证外部传入参数;断言用于"肯定如此"的情况,错误处理代码用于"可能发生"的情况

类:仅在必要时使用,避免过度封装

我的实战感悟

以前觉得代码规范是"表面文章"——代码能跑就行,规范不规范的有什么关系?直到有一次接手离职同事的代码:没有注释、命名随意、一个函数500行、Tab和空格混用……我花了三天才理清逻辑,而如果他有基本的规范意识,可能只需要半天。

代码规范不是为了好看,而是为了"降低协作成本"。你自己写的代码自己能看懂,但别人呢?三个月后的你呢?

一句话提炼

代码规范的本质不是约束自己,而是善待他人。你写的每一行代码,都是别人(或三个月后的自己)要读的"文档"。

02 | 代码复审:看代码是否在规范框架内正确解决了问题

2.1 三种复审形式

书中定义了代码复审的三种形式:

形式

谁vs谁

特点

适用场景

自我复审

自己vs自己

最方便但最不可靠——人对自己总是过于自信

日常自查

同伴复审

复审者vs开发者

简便易行,最推荐的常规方式

日常代码提交

团队复审

团队vs开发者

覆盖率高但效率低,全体到场

关键代码、不再更新的代码

2.2 复审的目的

不只是"找bug",而是6个目标:

1.找出代码错误(编码错误、不符合规范)

2.发现逻辑错误

3.发现算法错误

4.发现潜在的错误和回归性错误

5.发现可能需要改进的地方

6.传授经验,教育开发人员

第6点经常被忽略。代码复审不只是"挑错",更是团队知识传递的通道。新人通过看老手的复审意见,能快速学到什么是好代码。

2.3 复审后做什么

书中给出了明确的三步处理:

1.更正明显的错误——当场改

2.记录无法很快更正的错误——建issue跟踪

3.把错误记入"我常犯的错误"表——作为以后自我复审的第一步

第3步太精妙了。每个人维护一份"常犯错误清单",每次写完代码先自查这个清单,等于给自己加了一层"个性化防护"。

我的踩坑案例

我们团队以前没有代码复审流程,每个人写完直接提交。有一次两个同事同时改了同一个配置文件的同一个位置,合并后谁都没发现,上线后系统直接崩了。如果哪怕有一个人做一次同伴复审,这种问题5秒钟就能发现。

代码复审不是"额外负担",而是"保险"。它花5分钟,省5小时。

一句话提炼

代码复审不是审判,而是互助。它帮你抓bug、传经验、建规范——一箭三雕。

03 | 结对编程:两个人一台电脑

3.1 两个角色

结对编程的核心是两个角色的分工:

角色

职责

类比

驾驶员(Driver)

控制键盘,写代码,专注实现细节

开车的人

领航员(Navigator)

审视全局,提醒方向,发现潜在问题

副驾驶看导航

关键点:两个角色平等互补,不是主从关系。而且要定期互换——你开一段,我开一段。

3.2 结对编程的好处

书中从三个层次总结:

· 开发层次:更好的设计质量和代码质量,两人解决问题的能力更强

· 个人层次:更多信心,高产出带来高满足感

· 企业管理层次:有效交流,相互学习,知识传递,更高投入产出比

我的思考

结对编程在现实中争议很大。很多老板觉得"两个人干一个人的活"是浪费。但我的体会是:结对编程最大的价值不是"写得更快",而是"减少返工"。两个人一起写,设计缺陷当场被发现,逻辑错误实时被纠正,省掉的不是编码时间,而是后续的调试和重构时间。

当然,不是所有任务都适合结对。探索性任务、复杂算法设计适合结对;简单CRUD、重复性工作就没必要。

一句话提炼

结对编程不是两个人干一个人的活,而是一个人干两个人的活——同时编码+复审,产出质量翻倍。

04 | 与AI结对编程——知人善任(第四版新增)

这是第四版新增的内容,也是这一章最前沿的部分。

4.1 AI也是"结对伙伴"

第四版将结对编程的模型扩展到了人+AI。AI可以扮演驾驶员(生成代码),也可以扮演领航员(审查代码、提供建议)。

但书中强调了一个关键概念:知人善任。

不是所有任务都适合交给AI,也不是所有AI都适合同一个任务。就像团队里不同人有不同特长,你要知道AI的能力边界,合理分配角色。

4.2 我的实战体会

做交付项目这一年,我大量使用AI辅助编程。体会有三点:

第一,AI适合做"驾驶员"的场景:写样板代码、生成测试用例、处理格式化任务。这些任务机械但易错,AI干得又快又好。

第二,AI适合做"领航员"的场景:代码审查、发现潜在bug、提供优化建议。AI不替代人做决策,但能帮你看到盲区。

第三,AI不擅长的场景:理解复杂业务上下文、跨系统影响分析、涉及领域知识的判断。这些必须人来。

核心原则:AI是你的副手,不是你的替身。决策权永远在你手里。

一句话提炼

AI结对编程的关键是"知人善任"——知道AI能干什么、不能干什么,把对的活交给对的"伙伴"。

05 | 两人合作的五个阶段

书中借用团队发展的经典模型,描述了两人合作会经历的阶段:

阶段

特征

我的理解

萌芽阶段

互相客气,试探边界

"你说了算""都可以"

磨合阶段

意见冲突,风格碰撞

"你这样写不对""你才不对"

规范阶段

建立共识,形成默契

"这次你来写,我来复审"

创造阶段

高效协作,1+1>2

不用说话就知道对方要什么

解体阶段

合作结束,各自上路

项目交付,各回各的

如何正确给予反馈

书中给出了反馈的三个层次:

最外层:行为和后果——"你这段代码没有处理空指针,可能导致线上崩溃"(推荐)

中间层:习惯和动机——"你总是不写异常处理,是不是觉得不重要?"(慎用)

最内层:本质和固有属性——"你就是个粗心的人"(绝对避免)

好的反馈针对行为,不针对人格。这条原则不只适用于代码复审,适用于所有职场沟通。

一句话提炼

两人合作从"客气"到"冲突"到"默契"再到"创造",是正常路径。跳过磨合阶段的"假和谐",走不到创造阶段。

干货复盘

本章核心概念

一句话理解

常见误区

代码风格规范

简明、易读、无二义性

"能跑就行,规范不重要"

代码设计规范

函数只做一件事,错误处理分层

"设计规范是架构师的事"

代码复审

看代码是否在规范框架内正确解决问题

"复审就是挑刺"

结对编程

驾驶员+领航员,平等互补

"两个人干一个人的活"

AI结对编程

知人善任,AI是副手不是替身

"AI什么都能干"

两人合作5阶段

萌芽→磨合→规范→创造→解体

跳过冲突追求"假和谐"

本章最大收获:合作的最小单位是两个人。代码规范是合作的地基,代码复审是合作的保险,结对编程是合作的极致形态。而AI时代的结对编程,多了一个"不知疲倦但需要知人善任"的新伙伴——关键是想清楚:AI能干什么、不能干什么,决策权永远在自己手里。

下篇读第五章:团队和流程。如果这篇笔记对你有帮助,欢迎转发给也在学软件工程的朋友。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询