修改代码的艺术-处理大类

摘要: 针对庞大的类通常使用两个主要的重构方法:新生类和新生方法,将不同职责的类或方法单独剥离出来。 单一职责原则:每个类应该仅承担一个职责,它在系统中的意图应当是单一的,且修改它的原因应该只有一个。 问题代码 RuleParser是一个不大的类,但是确承担多个职责:解析;表达式求值;项的字元化;变量管理。重新分解后的职责关系图如下: 识别职责的方法 方法分组 寻找相似的方法名... 阅读全文
posted @ 2016-12-23 09:53 cuiyunfeng 阅读(353) 评论(0) 推荐(0) 编辑

用TPP开启TDD的easy模式

摘要: Test-Drived Development 测试驱动开发三步曲:写一个失败的测试用例->编写生产代码通过这个测试用例(transformation)->重构(refactor)。重构是指不改变程序的外在行为的前提下消除代码坏味道,目前已有不少的指导书籍。而第二步变形(Transformation) 编写生产代码通过测试用例,这是TDD三个环节中最困难的,有时甚至会陷入僵局。 Transfo... 阅读全文
posted @ 2016-09-07 21:15 cuiyunfeng 阅读(623) 评论(0) 推荐(0) 编辑

TID大会学习心得之敏捷软件架构-微服务

摘要: 敏捷微服务构建 王威: TW咨询师、架构转型教练、敏捷技术教练 敏捷的目标 敏捷的目标是提升效率?降低成本?减员增效? 敏捷:关注价值、快速反馈、快速响应。其的目标是提升响应力,响应力的提升不一定会提升效率、降低成本、减员增效 敏捷追求的是加速度,而不是速度(个人理解)。短期来看加速度不能提升速度,甚至会降低速度,但长期来看加速度可以提升速度! 敏捷的软件架构 敏捷的软件架构需要... 阅读全文
posted @ 2016-07-28 19:49 cuiyunfeng 阅读(273) 评论(0) 推荐(0) 编辑

TID大会学习心得之软技能

摘要: 软技能(Personal development as a software developer) John Sonmez : Simple programmer的创始人 2.1 学习方法 学习不是一个知识而是一个行动!无论你知道多少的学习方法,如果不实践都是零。 学习的步骤: 设定范围恰当的学习蓝图,不要范围过大 在学习范围内广泛收集资料,不局限与一本书、一门课程 制定学习计划,... 阅读全文
posted @ 2016-07-28 19:44 cuiyunfeng 阅读(144) 评论(0) 推荐(0) 编辑

TiD大会学习心得之沟通交流

摘要: 沟通交流是敏捷成功的关键要素,据相关调查阻碍敏捷的主要原因都与人有关:例如缺乏领导支持、团队缺乏协作精神、公司文化与敏捷相冲突等等;同时沟通交流也是团队建设、教练自身成长的重要支柱。下面结合在《敏捷背后的心理学》(古月)、《敏捷教练成长》(徐毅)、《敏捷团队的右脑训练》(李伟)学习情况,谈一下自己的学习体会。 1. 敏捷背后的心理学 古月:国家二级心理咨询师、IBM敏捷教练 古月老师介绍了多... 阅读全文
posted @ 2016-07-19 22:53 cuiyunfeng 阅读(557) 评论(0) 推荐(0) 编辑

搭建工具辅助的知识学习流水线

摘要: 1 知识学习的困难学习对于个人乃至社会都是非常重要的。社会的发展离不开知识的传承,个人的进步依赖知识的积累。但在实际的学习过程中可能会遇到很多困难:1. 互联网发展促使信息大爆炸,如何在其中找到有价值的目标?2. 如何从众多的知识渠道将零散的内容收集汇总,形成系统化的知识?3. 在工作和生活之余,怎样利用碎片化的时间提高学习的效率?4. 在相同的时间投入下,如何获... 阅读全文
posted @ 2016-05-18 22:15 cuiyunfeng 阅读(228) 评论(0) 推荐(0) 编辑