我从谷歌工程师文化中学到的 6 个核心原则

每周,一组谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时 它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“Testing on the Toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的一些新的东西,这也被突出为Google文化中的核心力量:向工程师组织有效的传 播一系列最佳实践。[......]

阅读全文

代码整洁之所以重要的七个理由

首先要承认,大学毕业的时候我是个糟糕的程序员。我拿到了学位,学到了一大堆书本知识,然后,我开始做一个不太重要的项目,每天晚上花大量的时间做简化。 起初,一切正常,但是我的代码风格一直在添乱。复制、粘贴、蹩脚的命名,混乱的思考,而且总用长期连续运行的方法,执行各种各样本可以分开的任务。几个月之后,我意识到一个严峻的现实:这个项目要崩溃了。原本我以为一个人开发,可以避免混乱。但是最终不得不承认,这个项目被我弄得一团糟,没法维护,更别说去理解了。 [......]

阅读全文

你的单元测试有多稳定?提升自动测试质量的最佳实践

单元测试的重要性不言而喻,但是对于经常会出现“失败测试”的现象我们该如何解决呢?失败的原因在哪?单元测试又有哪些副作用?作者Thomas Klambauer在此以最佳实践为例讲述如何提升自动测试的质量。[......]

阅读全文

在团队中进行单元测试/TDD的12条经验

背景

两年前,我在一个Web项目开发组中,项目的目标是编写一个类似Excel的、用来计算产品/服务价格的Web应用程序。项目团队被分成3部分——开发团队、需求团队和QA团队。随着项目越做越大,而我们没有使用任何形式的自动化测试(QA团队使用手工测试),结果导致项目的测试时间比开发时间还要多。每进行一次小的改动,QA团队都要花费几个小时来做测试。

有一天,我参加了一个开发者会议,并与其他程序员谈到了这些问题。他们建议我去学习单元测试、验收测试和TDD(Test-Driven Development,测试驱动开发)。[......]

阅读全文

2013年开发者需要了解的10大开发趋势和技能

技术的不断进化,使得软件开发也跟着进化,而且成熟了很多。一个不可否认的事实是,科技永远不能是静态的,因为它必须满足与之关联的人的需求。但是技术变化太快,有时真的让我们很难保持同步。

作为一个开发者,在开发者的世界跟不上潮流是伤不起的。写代码需要心如止水,但新的一年即将到来,此时此刻你必须准备好迎接新的明天。

要想在2013年跻身优秀开发者行列,你必须时刻关注且了解2013年的技术趋势。下面一起来看看2013年开发者需要了解的10大软件开发技能和趋势。[......]

阅读全文