时间: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类。这符合开闭原则:对扩展开放,对修改封闭。