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

时间:2013.12.01,2-5pm

地点北京市海淀区信息路18号 上地5街 上地创新大厦二层博彦科技

参加人数:11人

活动要点

a) 伍斌分享撰写《驯服烂代码》第1章的心得

什么是烂代码?

烂代码能消灭吗?

烂代码靠什么来驯服?

b) 金锐分享百度公司持续集成的经验

找出4个问题;本地构建 + Check-in触发构建 + Daily构建。

c) 各位匠友一个月来对KataStarbuzzCoffee招式实现的代码分享

王洪亮和二奎用两个类(Drinkable和Order)来实现该招式;廖君仪用从内向外的瀑布式开发方式来实现该招式;伍斌用验收测试来驱动生产代码的开发。

e) 现场时间盒自由技法编码操练 ,用C# 实现KataStarbuzzCoffee招式

回顾:

1)收获:

* 在Visual C#上可以安装Resharper工具来提高重构的速度。

Visual C# 提供Ctrl + . 快捷键来创建新类。

decimal类型可以用于保存货币金额。

2)改进:

编写测试可以从验收测试入手来写,这样能保护更大范围的代码。

一个测试一般分为3步:Given(测试准备)、When(待测行为触发)、Then(编写Assert来进行判断待测行为是否符合期望)。根据Kent Beck的经验,可以先写Assert,再从Assert推出When中的行为,再从When推出Given的代码。

* Coffee类中的getPrint()方法建议更名为getDescription()用来打印饮料的名称和价格,但不应包含Total的价格。

用两个类(Drinkable和Order)来实现该招式,觉得还是把每个饮料和调味品单独创建类比较好,哪怕这些类仅保存价格和描述信息。因为这样做的好处是当添加新的饮料和调味品时,只要添加新的饮料类和调味品类即可,不需修改Beverage类。这符合开闭原则:对扩展开放,对修改封闭。

你可能感兴趣的:(BJDP)