问题标签 [preconditions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
122 浏览

java - JML 无法捕获违反的前提条件

在我的类 Test 中,我有一个名为 a 的五个 int 数组,以及将一个添加到所选单元格的方法 addOne(int index)。我在 JML 中编写了一个简单的前提条件来控制传递给方法的索引。然后我尝试违反此先决条件,使用负索引调用该方法,而 JML 无法捕获此错误。怎么了?

这是测试类:

这是主要的:

抛出异常:java.lang.ArrayIndexOutOfBoundsException:-2。

使用任何 JML 消息。

0 投票
0 回答
6974 浏览

oracle - 前提条件列存在

使用 liquibase 3.4.1,如果存在,我想将 Oracle 中的列重命名为大写。无论我做什么,我总是会收到以下错误:

我的先决条件是这样的:

我尝试了以下操作: - 删除 objectQuotingStrategy - 添加 SQL 检查:

知道为什么会这样吗?:/

0 投票
1 回答
3700 浏览

python - python中的预处理共轭梯度和LinearOperator

[作业] 我将通过Preconditioned Conjugate Gradient方法求解线性系统Ax = b,并且我使用scipy.sparse.linalg中的spilu函数作为预处理器。A 是一个稀疏对称的 162*162 矩阵。由于 spilu 给出了 A 的逆的近似值,假设 M 近似于 A,因此 spilu(A) 给出了 M^-1,它是预条件子。我发现我们可以直接在python Conjugate Gradient函数中给出预处理器,但是我下面的代码不起作用。

此外,问题提示我需要使用 LinearOperator 接口,我不明白 LinearOperator 到底在做什么以及为什么我们需要它。

任何建议将不胜感激!提前致谢!

0 投票
2 回答
686 浏览

oop - 检查公共方法中参数的先决条件

我要问你对设计问题的看法。

问题基本上如下:对象的公共方法应始终检查其输入参数中的先决条件,还是更好地对调用者负责并“信任流程”?

我不是在谈论明显的前提条件,例如检查 null 以避免 null 引用异常,而是指方法参数中的业务前提条件。这通常发生在 DDD 服务中,它对输入参数执行某种验证并返回一个包含有关该验证的反馈的对象。

例如,考虑一个CheckPerson具有公共方法的类,该方法PerformCheck带有一个 type 参数Person。想象一下,有一条商业规则说这张支票对金发碧眼的人没有意义。

在我看来,这个检查很重要,方法名称应该反映这个规则(类似于PerformCheckForNonBlondePerson)。

我应该添加这些检查,还是应该信任调用者?

0 投票
3 回答
829 浏览

java - 将 Guava.Preconditions 与串联字符串一起使用时是否会对性能产生影响?

在我们的代码中,我们经常检查参数Preconditions

但有时,此代码会被非常频繁地调用。这会对性能产生显着的负面影响吗?我们应该切换到

?

(我希望大多数情况下条件为真。假意味着错误。)

0 投票
5 回答
1701 浏览

java - Java:弱前置条件和强后置条件,怎么做?

在不违反替代原则的情况下,我很难理解前置条件和后置条件必须如何工作。所以让我们假设我们有一个类Rectangle并且——Square如何关联它们?哪一个必须是子类?

所以我理解 a 的前置条件Subtype可以更弱,这意味着我们可以在子类中取一个主要的“集合”,另一方面,后置条件可以更强,所以我们可以返回一个次要的“集合” ' 东西的。如何在我的示例中应用这些规则?

我读到基类必须比子类“做”得少,所以我认为这Square必须是我们的基类和Rectangle子类。因此, in 的前置条件Square必须是 assert that height == width,但后置条件和 in 的前置条件Rectangle呢?

0 投票
0 回答
31 浏览

c# - 在工具提示中显示先决条件

我有一些条件可以使某些变量为真。例如一个按钮使 boolean2 为真。但是如果你想让 boolean2 为真,你必须在 boolean2 之前使 boolean1 为真。所以这是一个前提。前提条件可以存在多个。如果先决条件不合适,我想在用户按下(鼠标按下)按钮时使用工具提示或弹出窗口来警告我的用户。在此工具提示或弹出窗口中,我将向我的用户展示所有先决条件并更改不合适的颜色。当用户将鼠标悬停在按钮上时,工具提示或弹出窗口将消失。

最好的方法是什么?

0 投票
2 回答
189 浏览

java - 在控制器和服务之间共享相同的方法前置条件逻辑?

我有一个Service和一个Controller

服务中的每个方法都有其前提条件,例如:

而在Controller层,有两种方法,一种是showForm()显示表单供用户输入;另一种是显示表单供用户输入。另一种是doApplyForm()接受形式并调用底层Service.doSomething()

以下是伪代码(我删除了一些BindingResultattr.addFlashAttribute代码):

它运作良好,但我不满意。里面有难闻的气味

问题在于showForm(),它与 具有相同的先决条件Controller.doSomething()

如果Service.doSomething()以后再增加一个前置条件,就得Controller.showForm()做相应的修改。

我想知道是否有任何设计模式或框架来消除这种难闻的气味

Java8 的函数式解决方案是受欢迎的。

谢谢。

0 投票
0 回答
428 浏览

preconditions - Dafny - 传播确保条款?

我遇到的问题是两个不同类中的两种不同方法不合作,设置如下:

一个主要的称它们如下:

为什么方法d不承认方法b确保了它的前提条件?如果这是对 Dafny 证明者的限制,我将如何解决这个问题?

编辑: 当我创建这个例子时弄乱了语法,所以测试程序可以工作。然而,真正的仍然有问题。我正在努力解决的具体课程如下所述:

主要它被称为如下:

0 投票
3 回答
936 浏览

java - 使用前置条件以特定格式验证日期

我有一个字符串格式的日期YYYY/MM/DD HH:MM:SS,我需要使用前置条件 google guava 类进行验证。我checkArgument在很多其他地方使用方法。如何使用checkArgument方法进行验证startDate以确保它仅采用这种格式YYYY/MM/DD HH:MM:SS,如果不是,则抛出 IllegalArgumentException 和一些消息。

我如何在这里使用 checkArgument 方法?