不要进行代码审查,尝试使用团队协作方式
- Long feedback loop
- 长反馈循环
- Waiting
- 等待
- Multiple unfinished tasks
- 多个未完成的任务
- Written communication takes time, a lots of time
- 书面沟通需要时间,很多时间
A typical day of programming meant for me “write code -> send to review”. What now? Eh… another task. The task was easy, let’s start a third one. Then urge the need for a review, then wait for a while, do a review by myself…
Finally — a review of the second task! No, I disagree, have to answer properly…. Another hour later I finish summarizing argumentation, and next day my colleague just answers OK. What? Just OK?!对我来说,编程的一天通常是“写代码 -> 发送审核”。现在呢?嗯...又有一个任务。这个任务很简单,我们开始第三个任务。然后迫切需要审核,然后等待一段时间,自己进行审核...
最后——对第二个任务进行了审核!不,我不同意,必须恰当地回答...又过了一个小时,我总结了论证,第二天我的同事只是回答“好”。什么?只是好?!
The most significant problem of a code review is asynchronous ping-pong of quite difficult questions/answers. This is inefficient, but also makes people frustrated.
代码审查最重要的问题是异步的乒乓式复杂问题/答案。这是低效的,也会让人沮丧。
Another approach is to do code review as fast as possible. When I apply this approach, I end up doing code review all week long. And that’s not an exaggeration. The more code review I do, the more I receive requests for them. This leads again to frustration.
另一种方法是尽快进行代码审查。当我采用这种方法时,我最终整个星期都在进行代码审查。这并不夸张。我做的代码审查越多,我收到的请求就越多。这又导致了沮丧。
The goal of code review
代码审查的目标
What are benefits of a code review?
代码审核有什么好处?
- Sharing knowledge
- 分享知识
- Sharing responsibility
- 分享责任
- Improving code structure
- 改善代码结构
- Learning
- 学习
A good code review covers all those aspects. But code review is just a tool, if we can find a better tool, we can throw code review away.
一个好的代码审查应该涵盖所有这些方面。但是代码审查只是一个工具,如果我们能找到更好的工具,我们可以抛弃代码审查。
Mob programming
团队合作编程
Mob programming means all team members are present in the same time in front of one screen. Or work remotely on a shared screen — that is my case.
Mob编程意味着所有团队成员同时在同一屏幕前工作。或者在共享屏幕上远程工作——这就是我的情况。
I work in team of 4 people, and we work ~5–6 hours in day in the Mob style. At first we decide for the task, and when possible we rotate in driving sessions.
我在一个由4个人组成的团队中工作,我们以团队合作的方式工作5-6个小时。首先我们决定任务,然后在可能的情况下进行驾...