Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 寻找类不变量的启发式算法_Oop_Invariants - Fatal编程技术网

Oop 寻找类不变量的启发式算法

Oop 寻找类不变量的启发式算法,oop,invariants,Oop,Invariants,我的意思是,有没有找到类不变量的启发式方法 重视 永远不要依赖 也许有共同的建议 欢迎在纸上的任何链接上学习现实生活中的例子 类之间的差异如此之大,很难找到启发法。不过,对于特定类型的类,会有很多启发法。例如,每个设计模式实现都有自己的不变量集 获取不变量的最佳和最简单的方法是从类应该做什么的规范开始(或者如果做TDD,则从测试测试开始),并找出正确实现这些规范必须满足的条件。换句话说,您“通过代码推动您的规范”。当您这样做时,不变量将“出现”为您遇到的绊脚石 请注意,有时“推进”意味着前置

我的意思是,有没有找到类不变量的启发式方法

  • 重视
  • 永远不要依赖
也许有共同的建议


欢迎在纸上的任何链接上学习现实生活中的例子

类之间的差异如此之大,很难找到启发法。不过,对于特定类型的类,会有很多启发法。例如,每个设计模式实现都有自己的不变量集

获取不变量的最佳和最简单的方法是从类应该做什么的规范开始(或者如果做TDD,则从测试测试开始),并找出正确实现这些规范必须满足的条件。换句话说,您“通过代码推动您的规范”。当您这样做时,不变量将“出现”为您遇到的绊脚石


请注意,有时“推进”意味着前置条件的向前传播,有时意味着后置条件的向后传播。大多数情况下,两者都是。

类之间差异很大,很难找到启发法。不过,对于特定类型的类,会有很多启发法。例如,每个设计模式实现都有自己的不变量集

获取不变量的最佳和最简单的方法是从类应该做什么的规范开始(或者如果做TDD,则从测试测试开始),并找出正确实现这些规范必须满足的条件。换句话说,您“通过代码推动您的规范”。当您这样做时,不变量将“出现”为您遇到的绊脚石

请注意,有时“推进”意味着前置条件的向前传播,有时意味着后置条件的向后传播。大多数情况下,两者都是