最近,我在阅读 Steve Yegg 的文集《程序员的呐喊》。这是一本非常有趣的书,里面甚至包含了一个小测试(原文),区分一个程序员到底是保守派还是自由派。
网上对苹果iOS7操作系统中最新暴露出的一个严重安全漏洞的讨论读起来十分有趣。是什么导致了这样一个弱者的bug?下面是网友们总结出的几个原因: 用C语言很难写出正确无误的程序,, 苹果公司的程序员不用心, 编码风格中允许忽略大括号, 苹果公司里没有正规的代码审查, 使用了goto语句….
程序员最艰巨的任务跟编写代码没有多少关系。如果你认为自己还是一个水平一般的程序员,在你真正的能进入到高手行列前,请确保你已经克服了下列晋级的障碍。
作为一个在Rackspace公司的初级程序员(在Airbrake开发组),我经常会有一种相似的感觉,它催促我不停的大量产出代码,以为这样能让产品更强壮。当正如我的膝盖每次在下蹲时都要忍受痛苦一样,未经测试的老的功能特征在大量出现的新功能的重压下开始变形,开始断裂。
守门员要守住bug,并不意味着他们是唯一为bug溜入负责的人。除了守门员外,我们还应该有后卫,中场和前锋,他们是项目团队的组成部分。
这并不是一本讲“如何做”的书,并不是在说关于如何测试软件的具体步骤。相反,它站在一个更高层面上,大部分的篇幅都在致力于描述谷歌公司里各种不同的测试角色。从这个访谈以及这本书里,我感觉有三个独特的主题呈现在我面前。
我们经常听到人们宣扬说,在开发软件时写测试代码(单元测试,功能测试等)能有效的减少产品中的bug。如何验证这样的言论?通常,这些人都是已经在使用驱动测试开发(TDD)或行为驱动开发(BDD),而且,他们所在的公司在诞生第一天起就有着很强的测试文化。
Alan Faulkner是谷歌的测试工程师,他的工作对象是谷歌的DoubleClick广告报价管理系统(Bid Manager),这个系统提供让广告代理商和广告客户在多个广告上进行报价竞标的功能。
我写这篇文章的起因是由于看了@unclebobmartin在微博上的一些看起来言之凿凿的话语。给那些不认识Un […]
本文作者 James Whittaker, 前微软架构师,是“How to Break Software”系列 […]