August 12, 2016

没有了老师,你该如何学习?

又到了一年一度的毕业季,作为刚刚烧(卖)掉了课本,在学弟学妹羡慕的眼光中,目光晶莹剔透凝视斜上四十五度,刚刚踏出校园的你,嘴角微微颤动,不禁流出一丝微笑。是啊,熬了这么多年,终于要离开了,终于不用再学习,不用忍受天天写不完的作业,可怕的考试,老师的催促,家长的责备,终于远离了这一切的一切,那一刻你仿佛看到了通往自由的大门就在眼前慢慢亮起。

但当你充满憧憬、斗志昂扬的一脚迈入职场,成为一名所谓的员工而不是学生的时候,你会发现,事实并不全如你想象的那般美......

April 18, 2016

筷子定理

我已经会了ABC,为什么还要学XYZ?

不学TDD我也可以解决所有的问题,你看Linux就不是用TDD设计实现出来的,那我为什么还要学TDD呢?

在做公司内部的面向对象训练营(OOBootCamp,一个讲OO和TDD的内部培训),每次讲到TDD的时候,都会被问到类似的问题。这种问题在我们的身边其实还有很多,例如我已经会了面向对象编程,为什么还要学函数式编程?我已经会了java,为什么还要学其他语言?……我把这种问题统一称为:我已经会了ABC,为什么还要学XYZ类问题。

而对于这类问题,我的解答也很简单,只要一根筷子就够了:)

我的筷子定理

还拿开头的TDD为例,一般我们大多数人习惯的......

March 27, 2016

不做代码审查又怎样?

从一次回顾会议开始

“要不……我们不做……代码审查了……试试?”还记得当有人抛出这个建议时周围同学的表情,那种表情用两个字加两个标点符号就可以形容:“什么?!”

对了,先介绍一下背景,这是项目一次普通的回顾会议,我们正在讨论的是如何让代码审查更有效率和效果。我们做代码审查的方式比较简单直接,就是每日站会后,大家围在一台开发机周围,逐一轮换讲解昨天所有提交的内容,就像下图中的那样。还有,这是一个已经超过了7年的比较大型的项目,代码审查是我们从项目开始就坚持的一个实践,所以当有人提议废除它的时候,这在很多同学心里是想都没想过的事情。

代码审查是一个很好的实践,可以帮助团队里的同学了解其他同学......