自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独立匠艺程序员。本土匠艺、中西合璧;编程悟道,心无挂碍。

独立匠艺程序员。创办bjdp.org,微信号:bjdp_org。《测试驱动数据库开发》之译者。正撰写《驯服烂代码》、《会运行的文档》。www.wubinben.com

  • 博客(102)
  • 资源 (10)
  • 收藏
  • 关注

原创 一位近60岁的美国程序员令我狼狈不堪的回复

【按:本文是10个月前我的CSDN博客文章的修订版。】原先中国传统文化里面,那些像庖丁解牛、卖油翁、承蜩犹缀、纪昌学射、愚公移山这样的专业精神,现在都到哪里去了呢?

2013-03-16 17:34:05 23720 68

原创 国内“孩子青春期”图书中的iPhone:正写书的程序员爸爸点评《拆解青春期女孩的小心事》

我是一个愿意从开发、测试、产品角度综合看问题的程序员、一个9岁男孩的爸爸、一个曾经翻译过一本300页的软件开发技术书的译者、一个正在写我自己的书的作者、一个参加了7年英语演讲俱乐部(国际演讲会,www.toastmasters.org)的中、英文演讲爱好者,这一切因缘都决定了今天我要从程序员的角度点评一本讲青春期孩子的书——《拆解青春期女孩的小心事》,希望既能为孩子们的父母介绍这本书,同时也能为做

2014-03-20 13:22:51 2342

原创 用TDD开发可能会更省时间

摘要:在2014年3月15日ThoughtWorks北京办公室举办的Open Workshop的最后回顾阶段,有匠友谈到:“我在工作中基本不用TDD开发,因为耽误时间。”我认为,只要做到“专注”和“复用”这两点,用TDD开发会更省时间。2013年的一天,我跟一位国内互联网领域领先的公司的CTO提起精益节约成本的话题,他说:“成本?我们不缺钱,我们要的是速度。”他忘记了成本除

2014-03-16 08:16:55 1571

原创 Git能助你做出步子更大的重构

许多国外重构大师,如Kent Beck和Martin Folwer都建议我们:重构的步子要尽量小,每两次测试变绿的时间间隔要尽量短。若代码耦合过密,两次测试变绿的时间间隔很难变短,而需要很长时间时该怎么办?首先解释一下什么是重构的步子(Step)。一个重构的步子,就是在同一个测试的两次变绿(运行通过)之间所做出的代码改动。下面是两位程序员之间的对话。

2014-02-25 18:31:12 1273

原创 8个驯服烂代码的原则:bjdp.org第13次编程道场回顾

* 时间:2014.02.23, 2:00-5:45pm* 地点:北京直真科技技术股份有限公司* 参加人数:24人* 活动主题:驯服Trivia烂代码(Java版)* Java版Trivia未驯服前源代码:https://github.com/wubin28/trivia/tree/master/java* 伍斌第一次驯服Trivia的源代码:https:/

2014-02-23 23:44:27 1854

原创 驯服Trivia烂代码:bjdp.org第13次编程道场议程安排

驯服Trivia烂代码:bjdp.org第13次编程道场议程安排程序员每天都会面临烂代码。如果您能刻意地进行多次驯服烂代码的编程操练,并从中找到自己的解决之道,那么烂代码就不再可怕,而变得像庖丁刀下待解的那头牛而已。2月23日下午,让我们一起看看如何来解Trivia烂代码这头牛。* 时间:2014年2月23日,下午2:00 ~ 5:30* 地点:北京市海淀区

2014-02-20 11:38:26 1359

原创 二度驯服Trivia烂代码:bjdp.org第13次编程道场即将开始

二度驯服Trivia烂代码:bjdp.org第13次编程道场即将开始2014-02-20 伍斌_Ben 北京设计模式学习组伍斌_Ben在春节前第一次驯服Trivia烂代码,断断续续花了6天时间。而为迎接这次编程道场,特意再次驯服了一遍Trivia,却只花了2天时间。时间虽然缩短了三分之二,但是自我感觉效果却比第一次更靠谱,因为第二次驯服,又收获了下面这些新的体会

2014-02-20 01:05:39 1178

原创 软件的设计,就像你要放的一个屁...

程序员Jef Claes一天在桌子上看到了这样一个徽章,上面印着下面这段富有哲理的话:“Design is like a fart. If you need to force it, it's probably shit.”翻译成中文,就是:"软件的设计,就像你要放一个屁。如果你必须要迫使自己把它放出来,那么它或许就是一坨屎。"这话虽然不雅,但是却指出了一条

2014-02-17 22:41:16 1528 2

原创 玩一个Tennis TDD的编程操练游戏

各位匠友,我正和其他5位匠友在玩一个Tennis TDD的编程操练游戏,玩法大概是这样:6人先排好先后顺序,然后按照TDD的六字真言“变红、变绿、重构”的玩法,第1个人先写一个失败的测试(变红),然后用最省事的代码令其运行通过(变绿),然后重构。这些做完后,再写下一个失败的测试,并传递给下一人。下一人再用最省事的代码令其运行通过(变绿),然后重构。然后再写下一个失败的测试,并传递给下一人,以此类推

2014-02-14 15:52:38 1056

原创 我赞同Martin Folwer在《重构》一书中有关代码注释的观点,并在此基础上引申一步

我赞同Martin Folwer在《重构》一书中有关代码注释的观点,并在此基础上引申一步,即好的代码注释应该“只”用来描述“为什么(Why)”会有相应的这段代码和您暂时没有搞清楚的事情,而不要包含这段代码“做了什么(What)”和“如何做的(How)”,因为如果您能做到每个方法不超过5行,那么What应该由方法名和类名来定义,而How应该由上述不超过5行的代码来定义。

2014-02-06 19:29:17 1066

原创 2014全年bjdp.org编程道场日期安排

bjdp.org公益编程操练社区2014年计划安排10次编程道场,参加者均可免费参与。每次编程道场人数一般限定在15至30人之间。每次编程道场原则上均安排在周日下午2~5点,每次选择的编程操练语言按照C#、Java、C++轮流交替。活动报名链接一般会提前一个月发布在“活动行”网站上,请加微信号bjdp_org来接收活动报名链接信息。地点一般选择在愿意免费提供场地的公司内部会议室

2014-02-05 09:00:18 1214

原创 学会了钓鱼的小猫来到了软件开发公司...

软件开发公司总是活多人少。开发经理不得不让小猫同时参与下面3个项目的编程:钓鱼、捉蜻蜓、逮蝴蝶。

2014-02-05 08:56:46 1940 2

原创 老程序员的新年寄语:只要手艺好,就能吃一辈子编程饭

在春节即将到来之际,伍斌_Ben谨代表公益编程操练社区bjdp.org恭祝各位匠友在马年里:读更好的经典书籍、做更多的编程操练、悟更高的开发之道!内附红包:即伍斌_Ben大学毕业21年来所积累的编程经验。

2014-02-05 08:51:17 4984

原创 观察、保护、重构:驯服Trivia烂代码心得

伍斌_Ben已经完成了bjdp.org将于2月23日在编程道场上驯服Trivia烂代码的Java编程操练题目。驯服的过程,就如同把妖猴悟空驯服成佛一样,可以总结为三步:观察、保护、重构。源代码与详细重构过程已经上传github供下载参考。

2014-02-05 08:47:47 1398

原创 让“结对编程”跨越地域的障碍

Skype是在远程协同工作中比较方便的沟通工具,但是对于远程结对编程的程序员来说,除了“能听见”对方的语音,还需要“能看见”对方的电脑屏幕,并“能操作”、最好还“能重构”对方的代码。咱们一起看看几款支持“远程结对编程”的工具。

2014-02-05 08:08:57 1461

原创 操练驱动学习:程序员如何高效学习新的编程语言

作为程序员或自动化测试工程师,如果您打算学习一门新的编程语言,那么找一本书,搭好开发环境,运行书中的例子来学习的效果究竟好不好呢?通过一年的实践,我发现了一种比这更好的方法。

2014-01-17 14:58:11 2335 1

原创 北京设计模式学习组bjdp.org第12次活动(2014.01.10)纪要与下两次活动安排

* 时间:2014.01.10, 6-9pm* 地点:首都信息发展股份有限公司(北京天坛公园西侧)* 参加人数:首信15人,bjdp.org 5人* 活动主题:C#测试先行实现FizzBuzz游戏* 活动要点:- 伍斌介绍测试驱动开发、编程操练和结对编程的概念- 伍斌用C#现场演示测试先行的TDD开发有备编程操练FizzBuzz- 现场时间盒自由技法编程操练,用

2014-01-13 09:00:01 2028

原创 心无挂碍地编程精进

【末学在2013年12月29日龙泉寺信息中心“2013年年终总结暨迎新茶话会”上的发言讲稿】尊敬的禅兴法师,尊敬的贤信法师,各位师兄,各位朋友,今天我很荣幸地能有机缘,来到有一千多年历史的北京龙泉寺,向各位分享我这一年多,在佛家般若智慧的帮助下,心无挂碍地编写代码,不断精进的经历。我叫伍斌,独立匠艺程序员,自由职业者,专注于测试驱动开发、驯服烂代码、和编码操练。刚刚翻译完一

2013-12-29 20:49:35 1808 6

原创 《驯服烂代码》一书章节规划

敝人计划在2014年4月底之前完成《驯服烂代码》的写作,现在已完成第一章(试读链接:)。下面是本书的章节规划,恭请网友指点。联系我可查找我的新浪微博:伍斌_Ben第1章用旧方法实现编码招式,暴露问题第2章用测试先行的方法重新实现编码招式,引出TDD概念第3章在测试保护下把代码重构到设计模式,体现运用TDD概念的好处第4章阐述烂代码的概念第5章用ATDD/BDD技术实现编码招

2013-12-24 19:53:00 1375

原创 “将FizzBuzz编码招式重构到责任链模式”录屏下载

各位匠友,经过5次反复重录,我的4段SWF格式的“将FizzBuzz编码招式重构到责任链模式”录屏已经上传到百度云,下载后,打开HTML文件即可观看,期待指点!下载链接:http://t.cn/8kTKkVT

2013-12-24 19:22:46 1078

原创 《驯服烂代码》第1章 “刻舟求剑”的文档

【按】本文是我正在撰写的《驯服烂代码》的第一章手稿,供各位网友试读。期待指点!欢迎转帖,恭请转帖时注明出处:。谢谢。联系作者可查找我的新浪微博:伍斌_Ben第1章 “刻舟求剑”的文档“什么是软件?”上个世纪90年代初的一个冬日,在北京东南近郊的一所大学里,一位年近花甲的老师,给我们这些计算机系的学生讲软件工程这门课时,问了这个问题。对于那个时候几乎没有多少机会摸电脑的我来说,软件就

2013-12-24 12:57:40 5193 17

原创 QA与“如此保镖”

敝人刚在第十届中国软件工程大会分享ATDD话题。提到比喻:如果您是古时有钱人,需要请镖局护送您太太和大量珠宝从上海走陆路到北京。镖局要说:请您太太自带珠宝到京后通知我们来清点一下即可。那你还请他们保镖嘛?!现在许多QA测试工作就是这样事后清点,代码在开发中没有保护。软件生产代码写好后,无论后补的是白盒测试代码还是黑盒测试代码,都不如测试先行的TDD\ATDD\BDD更有效率和安全。理由就如

2013-12-07 22:55:26 1119

原创 让数据库应用开发不再裸奔——Test-Driven Database Development译者序

让数据库应用开发不再裸奔——Test-Driven Database Development译者序 1993年,我从大学计算机专业毕业后,开启我的IT职业生涯的第一份工作,就是在一家国营单位,用dBase III做MIS系统的数据库应用开发。从那以后,我做了11年的程序员,先后开发和维护过内容管理系统(CM)、电信运营增值服务系统、通信设备网络管理系统、和电子商务系统。这些系统,无一例外都

2013-12-04 13:34:25 1821

原创 北京设计模式学习组bjdp.org第11次活动(2013.12.01)纪要

时间:2013.12.01,2-5pm地点:北京市海淀区信息路18号 上地5街 上地创新大厦二层博彦科技参加人数:11人活动要点:a) 伍斌分享撰写《驯服烂代码》第1章的心得什么是烂代码?烂代码能消灭吗?烂代码靠什么来驯服?b) 金锐分享百度公司持续集成的经验找出4个问题;本地构建 + Check-in触发构建 + D

2013-12-01 20:58:56 1141

翻译 时间盒自由技法编码操练

* 自由技法(Randori)编码操练的规则:1)如果你控制着键盘,你来决定敲什么;2)如果你控制着键盘,但你不知道该敲什么,就向别人求助;3)如果别人向你求助,尽你所能地提供善意的反馈;4)如果别人没有向你求助,但是你看到有改进或学习的机会,那么选择一个合适的时机说出来:若是有改进的建议,或许要等到这次所有的测试运行通过后再提出来,或者等到最后回顾的时候再说;* 时间盒(Ti

2013-11-28 22:15:03 1304

原创 《驯服烂代码》第1章 撒谎的路标与裸奔的代码

用结对编程来操练编码招式的写作形式,看看瀑布式软件开发方法的弊病所在,为下一章测试先行驱动生产代码的TDD测试驱动开发和第三章在测试的保护下重构到设计模式做准备。

2013-11-28 16:40:37 1503

原创 我明天在火龙果在线讲堂分享的TDD/ATDD/BDD讲座内容提要

议程•了解概念–什么是TDD/ATDD/BDD?它们之间是什么关系?为什么要用它们?–TDD/ATDD/BDD的工作方法是什么?–有哪些工具可以支持TDD/ATDD/BDD开发?–TDD/ATDD/BDD适合什么项目?不适合什么项目?•TDD与三种类型的ATDD/BDD的代码对比•总结与答疑•语音交流答疑•如何解决传统瀑布式开发的问题:需求总

2013-11-15 08:48:33 1465

原创 学习新的编程语言的经典小书和大书

昨天在C++大师Lippman的签售会上,买到了Lippman老爷子亲笔签名的Essential C++,在该书前言中,Lippman说他当年要用一门新语言Perl来实现他用C++编的软件的功能,结果他找到了一本入门的小书Learning Perl,来让他把Perl顺利地跑起来。这就是他写Essential C++的初衷。那么由此看来,学习一门新的编程语言,至少需要两本书:一本300页以内能教你把该语言顺利地跑起来的小书,和一本800页左右的覆盖该语言方方面面的用于参考的大书。当然,程序员时间宝贵,我们需要

2013-10-28 19:49:19 1187

转载 [转][重构到模式-Decorator Pattern]咖啡连锁店KataStarbuzzCoffee招式-刘成章版

按:本文原文转载bjdp.org的热心匠友刘成章为2013年12月1日的编码操练活动操练Decorator设计模式所编写的编码招式。有关这个题材的招式,我曾在2004年出版的Head First Design Patterns一书中见过。在此对成章匠友表示感谢。BJDP编码招式 一、背景介绍:设想一家咖啡连锁店需要给顾客提供各种饮料,通常每种饮料还需要配上不同的调味品。

2013-10-28 08:38:17 1829

原创 北京设计模式学习组bjdp.org第10次活动(2013.10.20)纪要

时间:2013.10.20,6-9pm地点:北京中关村车库咖啡参加人数:8人活动要点:1)伍斌、二奎、王洪亮分享KataDocumentEditor的编码招式的思路,各位匠友提供反馈。2)使用7分钟Time Box Randori、Java、IDEA来编写KataDocumentEditor3)回顾a)测试内部不要写实现逻辑,应把实现逻辑放到

2013-10-20 22:48:18 1215

原创 [重构到模式-Flyweight Pattern]文档编辑器招式

* 假设有编辑英文的文档编辑器,屏幕大小为3行40列,共120个字符位置,每个位置可以显示55个英文字符:包括26个英文小写或大小字母、空格、逗号或句号,每个英文单词可以设置红、橙、黄、绿、青、蓝、紫7种颜色。用你熟悉的编程语言、TDD开发方法和Flyweight设计模式,实现上述需求,使得该屏幕上能显示出上图中的那句话,其中dwell为红色、past为橙色、dream为黄色、future为绿色、

2013-09-19 12:47:12 1235

原创 北京设计模式学习组bjdp.org第9次活动(2013.09.15)纪要

时间:2013.09.15,6-9pm地点:北京中关村车库咖啡参加人数:7人活动要点:1)伍斌分享“用BDD实现编码的可视化快速反馈”。通过酒店世界时钟的招式的代码,比较传统TDD与3种ATDD(FitNesse, Cucumber与RobotFramework)的异同。具体代码详见:https://github.com/wubin28/Kata-Hotel-Wor

2013-09-15 23:25:06 1284

原创 [重构到模式-Observer Pattern]酒店世界时钟招式

有趣的编码招式是激发程序员进行编码操练的有力武器。本招式不限编程语言,编程实现酒店世界时钟的功能,并能通过调整一个时钟的时间,自动更新其他城市的时间,可以进行重构到观察者设计模式的编码操练。

2013-09-02 09:48:15 1689

原创 北京设计模式学习组bjdp.org第8次活动(2013.08.18)纪要

时间:2013.08.18,2-5pm地点:北京福码大厦CSDN公司参加人数:11人活动要点:1)CSDN蒋麒霖做CSDN移动俱乐部社区活动介绍2)CSDN臧成威做code.csdn.net功能介绍3)伍斌介绍Command模式和“银行ATM机服务功能”招式(http://blog.csdn.net/wubinben28/article/detail

2013-08-21 17:29:35 1281

原创 [重构到模式-Command Pattern]银行ATM机服务功能

现在的银行ATM机,除了提供查询余额、存钱、取钱等服务外,还可以提供交水费、电费、燃气费等各种服务。用您熟悉的编程语言、TDD和Command设计模式,实现一个银行ATM机的下述服务功能:1)查询余额(check balance)2)存钱(deposit)3)取钱(withdraw)4)居民用电卡购电(假设每度电2元)(electricity card, RMB 2 per uni

2013-08-10 23:45:03 1914

原创 测试人员在软件开发的未来的天堂里

对下面3篇文章的一点思考:李云:对软件测试团队“核心价值”的思考 - http://blog.csdn.net/hzliyun/article/details/9773917吴穹:测试的双重目的性及理性质量观 - http://blog.csdn.net/adwu73/article/details/9632757段念:测试团队与咖啡店 - http://www.infoq.com/c

2013-08-06 09:34:19 1432

原创 北京设计模式学习组bjdp.org第7次活动(2013.08.04)回顾会纪要

北京设计模式学习组bjdp.org第7次活动(2013.08.04)回顾会纪要时间:2013.08.04,9am-7pm地点:北京龙泉寺(北京凤凰岭风景区内)参加人数:北京龙泉寺信息中心(20人)、北京设计模式学习组(9人)

2013-08-05 00:11:32 2136

转载 寺院礼仪

什么叫“拜忏”?“拜忏”,又叫礼忏,就是礼拜诸佛菩萨,忏悔自己的一切罪业。对佛忏悔,并不是求佛赦罪的意思,而是求佛证明,向佛坦白自己所做的罪业,下定决心,不再故意作恶。对不起他为“忏”,对己认错为“悔”,拜忏的作用则是洗刷心中的罪业。 引磬俗称小手磬。作碗状,底部中央贯以纽,附木柄,以小铁枹击之。于诵经礼佛起止时皆鸣之。 出坡的意思是指劳动,因为寺院多在山上要在坡上劳动

2013-07-24 23:24:32 2562

转载 为什么需要Page Object?

分层自动化测试QQ群20442181的群主,咨询师吴穹Adam在群中分享的文章:=============================================为什么需要Page Object?Page Object(PO)是界面自动化验收测试中的一个常见模式,要和@槽神刘叫兽探讨一下PO的必要性,顾写这篇小文表达一下我的观点。PO的主要价值体现在对界面交互细节的

2013-07-23 10:37:44 1040

原创 北京设计模式学习组bjdp.org第6次活动(2013.07.21)回顾会纪要

时间:2013.07.21,2-5pm地点:图灵公司参加人数:15回顾会要点:1)金锐分享:单元测试的Mocking技术,契约测试,何时适合用mocking(组合),何时适合用高层测试(聚合)。2)伍斌分享:开源软件代码内在质量检查框架SonarQube:SonarQube通过什么方法来展示团队代码内在质量在一个阶段内的走势?SonarQube支持哪些编程语

2013-07-22 05:30:26 1387

ATDD用FitNesse验收测试让QA荣登开发三剑客-2013.04.20

ATDD用FitNesse验收测试让QA荣登开发三剑客-2013.04.20

2013-04-20

ATDD用FitNesse验收测试去除QA烦恼-2013.03.31.pdf

ATDD用FitNesse验收测试去除QA烦恼-2013.03.31.pdf

2013-04-05

重构遗留代码,浮现架构之道-2013.04.02.pdf

重构遗留代码,浮现架构之道-2013.04.02.pdf

2013-04-02

驯服烂代码-2013.03.22.pdf

驯服烂代码-2013.03.22.pdf

2013-03-31

搭房子编程序-电脑小猫听我话 - 2013.03.11

搭房子编程序-电脑小猫听我话 - 2013.03.11 Scratch是一种编程语言,能让你轻松地编写交互式故事、动画、游戏、音乐或美术程序,并且能让全世界通过互联网分享你的作品。

2013-03-11

自动自发的敏捷团队-2012.12.05, CSDN CTO俱乐部

自动自发的敏捷团队-2012.12.05, CSDN CTO俱乐部

2013-03-09

用单元测试驯服烂代码-2013.03.09

用单元测试驯服烂代码-2013.03.09

2013-03-09

C# for Java Programmers 英文版 PDF

C# for Java Programmers by Harold Cabrera, Jeremy Faircloth and Stephen Goldberg (Jun 15, 2002)

2012-09-25

C# for Java Developers 英文版 CHM

C# for Java Developers (Pro-Developer) by Allen Jones and Adam Freeman (Aug 22, 2002)

2012-09-25

Agile Coaching 英文版 PDF

Agile Coaching by Rachel Davies and Liz Sedley (Sep 4, 2009)

2012-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除