解密Facebook产品的开发流程

王淮是Facebook第二位中国籍工程师,也是第一位中国籍研发经理,他一手开创了Facebook的支付安全和客服工具领域。2011年他离开Facebook,回国成为天使投资人,希望用自己在Facebook的经验帮助创业者。 Read more

回顾白板墙

常见到人们在回顾会议中觉得无聊,或者仅提出寥寥无几的几个优缺点。我在这儿介绍一个我们团队用起来还不错的方法。这个方法并不是比别的要好或差,只是给那些想在回顾会议中尝试新方法的人提供一点建议。 Read more

实施TDD时的常见问题

如果你刚接触TDD不久,可能一些常见的问题正在困扰着你:

  •  我该容忍多大限度的预先设计?
  •  在写测试的时候,可能必须构建出接口和一些类来让代码编译通过——这一步该跨多大?

Chad Meyers写下了一些他在开始接触TDD实践时碰到的疑惑和问题,它们应该都是比较常见的: Read more

基于 Jenkins 快速搭建持续集成环境

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境。 Read more

持续集成的实现与反思

持续集成作为一种敏捷软件开发实践,已经被越来越多的开发者所接受。持续集成倡导开发团队频繁地进行系统集成——通常一天一次到数次,每次集成都能被自动编译和测试验证,从而能在最短的时间内发现问题,缩短开发周期,提高软件质量。 Read more

如何做好发布计划

当Scrum的团队按照Sprint的方式进行迭代交付的时候,他们更加关注的是发布,而不是项目。那么什么是一个发布呢? 简单的说,它就是一个开发团队交付一个可以工作的软件给团队外部的人使用,以满足他们的某个目的。当你交付一些内容给下游的QA验证团队来做测试时不是一个发布,当你把你的软件功能和其他团队开发的功能进行集成的时候不是一个发布。当你告诉其他人:“来吧,你现在可以使用它了”,这叫做一个发布。 一个发布是多个Sprint集中交付工作的一个成果,这常常是对市场、业务和客户产生影响的标志性的时刻。 Read more

代码审查的实践要素

虽然代码审查是一个被广泛采纳的实践,但是由于存在很多的实践方式,所以开发团队经常搞不清楚它的最佳实践是什么样的,Lorinda Brandon尝试从多个方面来分析了正确的代码审查时间应该重点考虑的几个因素。 Read more

谷歌的代码规范

我们在谷歌所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。
在到Google工作之前,我一直认为编码规范没有什么用处。我坚信这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率的东西。
我是大错特错了。 Read more

谷歌如何做代码审查?

让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查。并不是只有Google做这个事情—代码审查已经被广泛的认可为一种非常好的做法,很多人都在这样做。但我还没有看到第二家这样大的公司能把这种事情运用的如此普遍。在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里的。 Read more

如何做代码评审?

谈及TDD的好处时,其中之一就是随时随地的Code Review,所以,貌似TDD是不需要Code Review的。但实际上,TDD和Code Review是两个正交的维度,做TDD并不妨碍Code Review。 Read more