Joel On Software---JOEL 测试:改进代码的12个步骤

此节为第一部分的第三节:
JOEL测试:改进代码的12个步骤

JOEL测试
1 、使用源控制代码吗?
2 、能一步完成连编吗?
3 、每天都做连编吗?
4 、有故障信息数据库吗?
5 、在编写新代码之前修复故障吗?
6 、有最新的进度表吗?
7 、有规格说明书吗?
8 、程序员拥有安静的工作环境吗?
9 、你用到了你资金能力内可买到的最好工具吗?
10 、有测试人员吗?
11 、新聘人员在试用期写代码吗?
12 、进行走廊可用性测试吗?


在这一节中例出了JOEL测试的12个步骤,个人觉得确实把一些标准软件测试的精华吸取进去了,却又抛弃了各类标准测试中的过于严格、限制灵活性的部分。当然这也如书中所说的,“Joel测试的不足之处,处是,确实不应该用它来保证核动力工厂软件是安全的”。作为个人来讲,应该把这些测试作为一种软件开发的习惯(当然,只是有些部分哦!~)。

在这里把比较精要的地方记录一下:
1、不使用源控制,程序员没有办法知道其他人员做了什么,所以不容易进行错误回滚。源控制系统的另外一个巧妙之处在于,可保证源代码在每个程序员的硬盘上都是经过自动确认了的。

2、从最新的源快照进行一次可分发的连编,需要多少个步骤?在一个优秀的团队通常会维护一个脚本,通过运行它,可以从头至尾地进行一次检查;重新编译每一个代码行;并按其不同的版本、语言以及条件编译语句#ifdef来生成EXE文件;创建安装包;并且生成最终的表现介质——CD-ROM、下载页面等。如果这样的过程需要多步才能完成,那么就很可能出错,并且越接近产品分发时刻,就越希望修复“最后故障”、形成最终EXE文件等操作所经历的周期会更短一些。JOEL指出不应该有20步。

3、无论谁中断了连编,都要负责修复连编操作,直到有别人中断连编过程为止。这是JOEL在Excel开发团队采用一种激励不要中断连编过程的机制,同时也让大家弄清楚连编是如何进行的。

4、故障信息数据库。一个可用的故障信息数据库必须至少为每个故障包含如下数据:重现故障的完整步骤、预期功能、观察到的(故障)行为、要分配谁、是否已修复。

5、发现故障到准备修复故障之间等待的时间越长,付出的代价(时间与金钱上)就越大。微软普遍采取了一种称之为零缺陷法(zero defects methodology)的措施。零缺陷意味着在任意给定时间点,最需要优先去做的事情是在写任何新的代码之前消除故障。这也可以是一个衡量进度表的标准:如果你已经修复了所有已经知道的故障,并且剩下的就是编写新代码,那么进度表就是极其准确的。

6、拥有一个好的进度表的优点:保证它始终反映最新的项目情况;迫使你做出将要实现什么功能的决定,然后强迫你拣出最不重要的功能,并加以剪除而不是陷入功能沼泽地带(也就是功能范围蔓延开来)。

7、“没有规格说明书就没有代码”。不是根据规格说明书开发出来的软件通常会因设计欠佳而停滞不前,从而使进度失去控制。

8、JOEL举了一个比较好的例子:Mutt记不住Unicode版本的strcpy函数的名字。他可以查询该函数,这要花费30秒钟的时间;他也可以询问Jeff,这得用去15秒钟的时间。既然紧靠Jeff坐着,他选择询问Jeff。不过,Jeff因此显得心烦意乱而丢掉了15分钟的产出(仅仅为了节省Mutt 15秒钟)。然而如果当Mutt去询问Jeff需要45秒钟的时间时,Mutt就会去选择自己去查询了。

9、可以显著地提高开发效率,同时程序员是容易通过给他们提供最棒最新的东西而得到满足的,这是一种远比通过支付极富竞争力的薪力来促使他们为你工作好得多的途径。

10、没有专门的测试人员,意味着要么分发充满故障的产品,要么通过让价值$100/小时的程序员去做那些能够让价值$30/小时的测试人员完成的工作。

11、一定要让应聘者编写一些代码。

12、走廊可用性测试指的是,在走廊里随便抓一个从身边走过的人,要他试着使用你所编写的代码。如果对5个人进行了这类测试,那么就可以了解隐藏在代码中的95%的可用性问题。

Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台 Apache Ignite是一个高性能的分布式内存计算平台,支持内存缓存、分布式计算、流处理和机器学习等功能。它提供了低延迟的数据访问和强大的计算能力,适用于需要高性能和可扩展性的应用。将Apache Ignite集成到Spring Boot应用中,可以显著提高应用的性能和可扩展性。Spring Boot的简单配置和Ignite的强大功能相结合,使得开发和部署更加高效。首先,创建一个新的Spring Boot项目。可以通过Spring Initializr(https://start.spring.io/) 阅读详情

相关推荐

Joel on Software

Joel on Software 英文版本 学习英文必备 -

读《Joel On Software》有感

前言:这个寒假,在回家之前,我无意中在铁道图书馆发现了这本书,看了一眼,感觉还不错,于是就把它带回了家中。以下是我在寒假里读这本书的所以感受和心得体会。 首先,我强烈向大家推荐这本书,不仅是因为这本书的作者(Joel曾服务于Microsoft,主持过非常著名的Excel项目),更是本书中的知识值得每一个学软件的人好好看看。我第一次认识Joel是在他的门户网站上,www.joelonsoftware.com,他提出的Joel测试,用来评测团队是否优秀。他提出了12测试方法,其中包括:你使用源控制机制了吗?你

503

Joel On Software

Joel On Software 大家都知道这个东西哈。挺不错的

推荐搞IT的你读读《软件随想录》

《软件随想录(Joel on Software)》,这是我多年前看的一本书,也是对我影响很大大的一本书。这不是一本讲软件技术的书,但跟技术强相关,推荐给朋友们读一下。这本书严格来讲,不是作...

dotNET跨平台 538

一些经典的计算机书籍—基础篇

1.     《软件随想录》(Joel on Software),Joel公开发表包括博客上的一些文章合集(他的博客似乎很久没有更新了),主要是他从事计算机软件行业多年以来的一些经验之谈,其中关于Joel自己创办公司的一些管理经验很是精辟。但是他极其看重Unix,轻视Windows,看重C,轻视Java的观点,有些不敢苟同,也许,人总是喜欢拔高自己拥有或擅长的那些事物。五星满分,四星推荐。(2

麦田里的守望者 859

重看joel on software

10年前在购书中心买的书,那时候还只有当当在卖书,朋友的朋友在里面做,7折卖了,看不明白,觉得怎么就在吹水,现在重新看确实叼。《Joel on software》并不能给你技术上马上有什么改进,或者工资下个月就翻翻,而且你看了还可能倒霉10年,真*程序猿的路都是坑啊还有就是《4人帮》和《重构》和《人月神话》,还有很多很多的有一个很博弈的事情就是Joel 是反对《4人帮》的设计模式的,2者不相上下,到

大话程序员 898

Joel On Software》读后

原文出处: http://blog.donews.com/dereck/archive/2005/10/08/580028.aspx 没错,我说得是《Joel On Software》读后,因为我在读过《Joel说软件》以后又读了一遍英文版,并进行对照研读。不过必须清楚的是,我读完了,但是我以后还是回去重新读。就好像Joel在书评中说《人件》是一本需要软件管理人员每年读一遍的书一样,他自己的这

博文视点(北京)官方博客 3170

[翻译Joel On Software]Joel测试12步写出更高质量代码/The Joel Test: 12 Steps to Better Code

Joel on Software The Joel Test: 12 Steps to Better Code Joel测试12步写出更高质量代码 byJoel Spolsky Wednesday, August 09, 2000 Have you ever heard of SEMA[w1] ? It's a fairly esoteric system formeasuring

The Way To Great 3786

[收藏]软件开发成功12法则——Joel Spolsky

作者简介:作者:Joel Spolsky 是纽约市一家小软件公司Fog Creek Software 的创始人。他毕业于耶鲁大学,曾在美国微软公司、Viacom、Juno 任软件设计师及经理。“有没有听说过SEMA?这可是衡量一个软件开发组好坏的很深奥的系统。别动,等一下!别按那个链接!给你六年你也搞不清这玩意儿。所以我自己随便攒了一套衡量系统,信不信由你,这系统,三分钟就可掌握。你可以把省下的时

蜗牛档案室 6046

[翻译Joel On Software]Unicode/Unicode

所有软件开发者绝对,一定,必须,至少要知道的Unicode和字符集(没有任何借口) 我很失望的发现原来那么多的软件开发者对于神奇的字符集,编码,Unicode等等东西的了解真的并不是那么到位。几年前,FogBUGZ的beta测试员很好奇能不能处理进来的日文电子邮件。 日文?他们还用日文写电子邮件?完全没概念。 当我仔细的分析了我们使用的用来解析MIME电子邮件消息的商业ActiveX控件之后,我们发现它对于字符集的处理完全是错误的。所以我们只好英勇地先撤销它做的错误转换然乎再正确的转换一遍。我看了另外一个

The Way To Great 2765

JOEL on Software(JOEL说软件)

<<JOEL On Software>>中文译名:JOEL说软件【内容简介】这是一本介绍软件管理的小品文集。全书分为45章,每章就是一个独立的专题或者知识点。本书内容十分丰富全面,小到项目负责人制订进度表,大到软件执行总裁提出富有竞争性的战略,都在本书的介绍之列。尽管内容很多,但事例驱动的写作方式,奠定了本书在可学性与可用性方面明显的优势。本书从不同侧面满足了软件开发人员、...

Being 522

task list -joel on software

最近忙于新产品的开发,阅读的速度相对于以往慢了下来 。而且似乎读这本书的热情也没有以前高涨了。上周从自己几十G IT书籍中整理出 亚马逊评分4.5/5分的1G左右 ,有空要开始扫了,接下来准备同时读《人件》和《人月神话》。一个是人性化管理 ,一个是量化管理,一定要同时阅读。刚开始读joel on software,感觉是学到了很多,包括软件团队建设,管理,还有微软的小故事。最近阅读时,更多的是

ppmate的专栏 825

The Joel Test:Joel 用来评价软件开发团队成熟度的12个问题

转自:http://www.cnblogs.com/supercpp/archive/2011/11/10/2245087.html 如果你与软件行业有若干联系,但是还不知道Joel这个人以及他的博客,那么赶快拿起百度,然后尽可能多的了解他和他的思想,对你肯定有好处。这篇是他博客中的经典之作,收录在他的两本书中:《Joel on Software》和《Smart & Gets Things Do

奋斗 2571

[强烈推荐]Joel on Software中文翻译!

一个好的程序员的修炼要诀! 2000年03月19日 两个故事 - Two Stories 2000年03月23日 软件人员面试守则 - The Guerilla Guide to Interviewing 2000年03月29日 无痛软件进度 - Painless Software Schedule 2000年04月03日 激励有害 - Incentive Pay C...

weixin_33978044的博客 398

《Jole On Software》--Jole Spolsky

JOEL说软件》-- Jole Spolsky.   太久了,没有一本书让我停下两天的工作去读完她,以至于我得告诫自己:停,今天到此结束,再看就消化不良了。  没错,就是这么棒,获得15届JOLT大奖当之无愧。虽然早就收藏过www.joelonsoftware.com,惊讶于一个老兵的文章会被转译成那么多语种,完整的读过之后才能理解。  24开300页,计算机书籍里面的小矮人,...

weixin_30876945的博客 208

Joel on Software 祖尔谈软件:行进中开火 shadowkiss

为什么80%的码农都做不了架构师?>>> ...

weixin_33744854的博客 292

《软件随想录-Joel on Software》书摘

比尔盖茨对技术的了解令人惊叹,他理解可变数据类型,COM对象,IDispathch接口以及Automation与虚表有何不同,他明白这种不同可能会导致双重接口,因此他担心日期 函数并非心血来潮,如果他信任那个干事的人,他就不会干涉软件,但是,你不要糊弄他,哪怕是一分钟,因为他也是一个程序员,一个真正的,现实的程序员 不懂编程的人管理软件公司,就好像不懂冲浪的人硬要去冲浪- 优秀的人才从

Ghost Stories 702

JOEL测试 on Java开发

文/李智慧  1, 使用源码控制机制,CVS,SVN,VSS,不管用什么,一定要用。2, 使用ant制作一次连编脚本,一个点击或命令就能完成从源代码到发布包的连编。3, 使用cruisecontrol进行持续集成,每一个版本交付给测试人员前都要做冒烟测试。4, 在单体测试阶段就写BUG票,并自动生成BUG台账。5, 在写新代码前修复故障。6, 任何作业都要有WBS,任何时候WBS都反映最新

lizhihui的专栏 758

Joel on Software 英文电子版共享

Joel on Software 英文电子版共享         以前我在网上下载到了《Joel on Software》英文版的电子版,时间一长忘记了原来的网址,这里暂时采用如下方式共享一下。说明:1、可能在别的网站上也能够下载到,但多一个资源总归是好事情。2、如果有需要的话请在回复中留下E-mail地址。    关于中译本《Joel说软件》曾经掀起了一阵沸沸扬扬的批

Derry的专栏 1647

三相多功能电表电路原理图+源码+设计说明等-电路方案

该三相多功能电表的主要功能(具体设计分析详见附件内容):能量计算:正反向有功无功电能计算大电能存储:可存储正反向有功无功电能测量功能:可测量电压,电流,瞬时电能及频率复费率功能:包含4个费率根据不同的时间段时间校准功能:可以通过广播和编程两种方式校准编程能力:编程能力可以通过按键来控制通讯功能:该项目包含红外和RS485两种通讯方式循环显示功能:可通过按键循环显示数据读取及基波和谐波信息三相电表系统设计框图:该三相电表电路设计技术参数:额定电压:220V额定电流互感器:1.5A/5mA精度等级:有功:0.5无功:2脉冲常数:有功:3200无功:3200功耗:电压电路:≤1.5W,10VA电流电路:≤1VA(Ib)三相电表源码截图:

上一篇: JOEL on Software(JOEL说软件)
下一篇: Joel On Software---轻松写就功能规格说明书
liput
博客等级 码龄20年 5粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值