问题标签 [contracts]

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 投票
1 回答
804 浏览

wcf - WCF 添加服务参考

我想知道如何在服务中添加更多的接口类型。目前我只能拿一个来展示。我想在服务列表下看到一些其他界面,我该怎么做?

刚刚发现因为我是新手,所以我还不能发布图片,所以我会尝试描述我的屏幕截图.....在我的客户端应用程序上,我想添加一个服务参考。我可以找到我的mex 端点并且它找到了我的服务,但是我只能找到一种与 *ervice 关联的接口类型。当我单击接口类型时,我会看到可用的操作,但我想在添加服务引用对话框的服务窗口中向服务树视图的服务分支添加更多的接口类型。

我不确定接口合同这两个词是否可以互换

谢谢

克里斯

0 投票
1 回答
696 浏览

java - 将 Cofoja 与 Wicket 一起使用(甚至仅与 Maven 一起使用)

我正在尽我最大的努力让 Google Cofoja 在我的Apache Wicket应用程序中运行,该应用程序使用 Maven2 似乎是标准的。

该项目最初是使用Leg Up生成的,并选择了原型“Wicket 1.4.12、Guice 2.0、WarpPersist 2.0 (snapshot)、Hibernate 3.5.6”。

我最近尝试的(并且似乎是最接近工作的)是使用 maven 构建(我已经设法构建了合同类),然后尝试使用 ant 运行项目以获取合同检查发生。最新的问题是我不确定我的主要课程是什么。我试过让它成为运行码头服务器的类,但我得到一个类未找到异常。

同样,即使我确实让这个解决方案正常工作,这也远不是让合同检查作为 maven build 的一部分发生的理想解决方案。

现在,我目前拥有的:

pom.xml

构建.xml

maven-build.properties

com/mycompany/myproject/adminconsole/Start.java

如果您知道如何解决我当前的 ant 问题,或者更好的是,知道如何将 ant-hack 全部废弃,那将非常令人兴奋(:

更新 1

从代码中删除-'s 是不好的(感谢@Martijn Dashorst)。可悲的是,这并没有解决问题。

0 投票
2 回答
2086 浏览

c# - 如何在 C# 中使用前置/后置条件和不变量实现 Stack 类?

有没有人有关于如何/什么是在 C# 中实现 Stack 类的最佳方法的任何示例或想法?我知道已经有一个 Stack 类,但我需要了解如何实际实现一个 Stack 类。

我还需要有关如何在 C# 中使用 Contracts 为此类指定前置条件、后置条件和不变量的建议。我想我之前在 ASP.NET MVC 架构中创建模型时使用过类似的东西,但我不完全确定它是否是相同的东西并且以相同的方式工作。(如果你还不能告诉我,我对先决条件/后置条件/不变量有点迷茫 - 所以请多多包涵。)

我的主要问题- 有人可以给我关于正确使用合同的建议,例如堆栈。

是的,我已经付出了努力:

0 投票
2 回答
1063 浏览

java - 您如何在 Eclipse 中使用 CodePro 的合约?

我以为我了解 CodePro 的合同,但它们似乎没有任何作用。例如:

运行 main(String[]) 方法会导致:

要打印。没有编译警告(预期),也没有抛出异常。此外,CodePro 生成的 junit 测试方法不受合约的影响。

那么你如何使用 CodePro 的合约呢?

0 投票
4 回答
243 浏览

c# - Why CodeContracts Static Analyzer doesn't make warnings?

I have several user controls, that are subscribed to the event handler in another class. I'm learning CodeContracts in C#, and I wonder, why does Static Analyzer allows writing code like this:

Here I have a potentially unsafe code, that can lead to null-reference exception. I understand, that static analyzer probably cannot check, what will the actual type of sender be. But in case it cannot prove it, I expect some warning, like CodeContracts: Possibly calling a method on a null reference.

Or do I get some idea of contracts wrong? How can I get notified of errors like this?

UPD:

Yes, I did enable Implicit Non-Null Obligation as it was suggested in the answers, but I still don't get a warning from Static Analyzer. Also I tried to run Code Analysis with Microsoft All Rules rules set, also no warning. (But I'd prefer dealing with Code Contracts and perform some additional checks using Contract class, rather then with if-then-throw or something else)

0 投票
4 回答
1859 浏览

c# - 代码合同最佳实践

我对代码合同及其使用的最佳实践有几个问题。假设我们有一个类,它有几个属性(例如,见下文):

关于我想要实现的一些解释:

(a) property1 是必填字段。property2 对于对象的正常使用没有明确要求。

我有以下问题:

  1. 我是否应该为财产合同而烦恼2?因为 property2 不是必填字段,所以它是否应该有合同。就财产 2 签订合同是否表明该合同实际上是该物品正常使用所必需的;

  2. 即使没有明确要求 property2,也没有可能的理由让它为 null,因此在 setter 处定义了合同。在 property2 上定义合约不会减少调用代码中的空检查吗?这应该可以减少错误并提高代码的可维护性——这个假设是否正确?

  3. 如果是正确的,我如何确保调用 property2 永远不会为空的代码?我是否使用 Contract.Invariant(property2 != null); 还是构造函数中的 Contract.Ensures(property2 != null),或者 Init() 中的 Contract.Ensures(property2 != null),或者 setter 中的 Contract.Ensures(property != null)?(即如果使用 Contract.Ensures(property2 != null),它放在哪里)?

如果问题看起来很简单,我很抱歉。我只是在寻找对此事的想法,以及你们认为的最佳实践。

0 投票
2 回答
5222 浏览

wcf - WCF - 处理版本控制

如果我需要退出此服务合同:

对此:

并根据这篇好文章:Versioning WCF我了解,当数据合同发生变化时,需要在新命名空间中定义新的数据合同与数据合同,然后在新的命名空间中定义新的服务合同,之后是一个新的端点应该添加。

我到底应该怎么做。有没有任何地方的例子?你能根据我上面显示的服务合同写点什么吗?

先感谢您!

0 投票
1 回答
1802 浏览

c# - 在发布版本中使用 System.Diagnostics.Contract

我之前在 StackOverflow 上看到了一个帖子,对此进行了一些讨论,但是我再也找不到它了!

我很想知道 System.Diagnostics.Contract 类是否应该在“真实代码”中使用,即生产代码的发布版本?我问这个,因为根据命名空间描述,合同似乎是为了调试或分析目的。

它似乎是一个有用的库,其中功能的前置/后置条件很重要,并且可以避免编写大量 if/then/else 检查的一些工作,所以如果是这种情况,核心库中是否有替代方案?

0 投票
4 回答
1483 浏览

java - 一个适合生产使用的好断言类?Java 相当于 Groovy 的 PowerAssert?

我不喜欢 javaassert关键字,因为它并不总是在生产代码中启用。我正在寻找一个好的“ProductionAssert”类来使用,它总是运行提到的断言。

一个候选者是Guava 的先决条件。它很不错,但有点有限(例如,不,,,assertEquals())。assertNull()assertGreaterEquals()

一种选择是包括 jUnit 或另一个测试框架......但我不愿意仅仅为了一个简单的断言类而依赖整个测试框架。

如果我在 Groovy 中编程,我会使用PowerAssert

Java 是否有一个好的“ProductionAssert”类?

PS-一种选择是最终检查Java Contracts之类的东西……但是我现在正在寻找的是绝对最小的零摩擦,只需将其放入而无需对构建过程进行任何更改类。 .. 我不确定合同是否符合该描述。

0 投票
1 回答
242 浏览

wcf - 该服务实施“2”合同。无效操作异常

我有一个 WCF 服务项目,我试图在我的本地开发机器上启动并运行它。

当我从在 Cassini 中运行的 IE8 中点击 .SVC 时,它没有问题。

当我从在 IIS 中运行的 IE8 中点击 .SVC 时,我收到以下服务器错误。

该服务实施“2”合同。要使用 WebScriptServiceHostFactory,您必须为每个服务实现一个协定。如果您必须使用多个合同,请使用常规的 ServiceHost。

我的 IIS 配置似乎有问题。我有一个同事在他的机器上通过 IIS 运行项目,我们已经检查并匹配了我们的 Windows 功能列表,以确保我们在 Windows 7 中安装了相同的 IIS 和 WWW 功能。

我还用 IIS 为 4.0 重新注册了 aspnet,但错误没有改变。