迪米特法则(Low of Demeter)又叫最少知识原则,一个类对其它类知道的越少越好。
迪米特法则可以简单说成:talk only to your immediate friends。
LOD的初衷是降低类之间的耦合,每个类都尽量减少对其它类的依赖,所以,很容易使得
系统的功能模块功能独立,相互之间很少依赖关系。
LOD不希望类之间建立直接联系,类都是通过友元类进行转达。所以系统中就会存在中介类,
这些类之所以存在完全是为了传递类之间的相互调用关系:
设计一个类时,类只能访问它直接的朋友:


不存在不能进行自动测试的程序。[Kent Beck]
关键点分析: 技术和工具 随机生成不重复的4位数字 根据游戏者输入的数字,验证并返回结果
“我知道这个项目bug很多,无法按时完成,即使老板把我炒了也是应该的。曾经有一个做单元测试的机会放在我面前,我没有珍惜,等到后来项目雪崩了才后悔。如果上天能给我再来一次机会的话,我会对老板说:我要做单元测试!如果一定要在单元测试上加个日期,我希望是一直。”
在各种代码IDE中,一般都会有TODO的标注功能,用于提醒程序员在开发是不至于忘了自己要实现的代码功能。
Todolist就是一个用来记录程序员计划要开发代码功能的清单。
在tdd活动中,需要在编写代码之前将整个需要实现的功能分解好todolist。
编写Todolist的过程就是对这个需求进行功能分析的过程。
在敏捷开发中,BA将需求分解为用户故事,在一个迭代内,SM会跟踪DEV实现这个用户故事的进度。
但是这个进度很难进行度量,更多的是倚重SM的经验。
如果DEV在迭代开始时,就完成了Todolist,那么在开发人员的迭代泳道中,SM就可以比较客观的看到DEV的进度了。
参考在进行OOAD时,我们会编写的用例文档,过程中一般我们会按照下面的顺序列出各种路径:
将这些路径,参考实现方案的设计,根据波及与实现依赖,整理出一个可以编码实施的TDD用例实现清单。
这个清单就是Todolist。
为了在TDD实施时,容易落地,避免大用例,所以这个清单通常的组织用例的顺序是:
本文为原创内容,如果被您引用,我不胜荣幸。同时也请您在引用处标明出处,作为对我的鼓励。 —- 孙明辉 2022-01-15