问题标签 [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.
app-store - 公司是否应该阻止员工在空闲时间在应用商店发布应用?
我的公司正试图通过一项政策,禁止在任何应用商店中为所有开发人员分发任何应用程序(甚至免费)。
他们的理由是“外部工作活动会产生利益冲突”。他们不希望“你利用业余时间来开发你的应用程序,一旦它起飞你就辞职了”(引用开发主管的话)。
一些开发人员(包括我自己)已经表示这是一种滥用职权、毫无意义且最重要的是适得其反的政策(开发人员实际上会失去动力,无法在这种控制下在这里工作,并被剥夺分发项目的自由)。
就个人而言,我认为推动副项目(即使是商业活动,如果没有冲突)实际上符合公司的利益。
我也很好奇,这是常见的做法吗?
c# - 静态分析不适用于 VS 2010 Pro 的原因是什么?
是不是让普通开发者专注于在本地编写合约,然后提交给全球分析?
或者有没有办法获得与这种体验相媲美的东西?也许作为单独的下载?
此外,如果一个库有合同,那么无论使用什么版本的 VS,智能感知工具提示都会包含合同吗?
build - 代码合约构建性能
我的问题非常直截了当:启用代码合同后,是否有人会增加构建时间?
unit-testing - 使用 Pex、Contracts 和 QuickGraph 进行假阴性单元测试
每个人。我在合同、pex 和 quickgraph 之间有一个令人困惑的交互,非常感谢知识渊博的人提供的建议。我把它归结为一个复制案例,其中注释掉一个合同会使假阴性消失,但我无法在允许的时间内用调试器诊断它,因为主题代码(快速图)对属性有副作用- getters,意味着调试器在显示属性值时执行副作用,干扰实际执行顺序。
首先是一点背景,然后是细节,然后是一个可以下载和试用的项目的指针,如果您愿意深入研究的话!
我安装了 Pex & Moles
http://research.microsoft.com/en-us/projects/pex/downloads.aspx
和 .NET 4.0 的 CodeContracts
http://research.microsoft.com/en-us/projects/contracts/
我通过 nuget 下载了最新版本的 QuickGraph,它都是为 .NET 3.5 构建的。我将它修剪到我需要的最低限度,进入所有项目属性,将它们全部从 .NET 3.5 客户端配置文件更新到 .NET 4.0,修复了一个源中断更改(这是微不足道的,非常非常不可能与我的问题)。然后我转到每个项目页面上的 Code Contracts 选项卡并启用所有静态和动态选项。
http://quickgraph.codeplex.com/releases/view/55262
该项目有 192 个单元测试,其中许多是 Pex 生成的(非常好!)。要运行测试,请从
http://dl.dropbox.com/u/1997638/QuickGraph.zip
确保您有来自上述链接的 Pex & Moles 和 Contracts。打开解决方案,重建所有内容,然后在解决方案级别,“在解决方案中运行所有测试”(control-R,A)。一切都会过去的。然后转到 IImplicitUndirectedGraphContracts.cs 的第 49 行并取消注释大注释下的合同(由我插入)。一项测试 Prim12240WithDelegate 将失败。
该测试通过在 Edges 和 EdgeCount 的属性获取器中调用用户提供的委托来运行图形构造函数。可爱的。但是 IImplicitUndirecteGraphContracts.cs 第 49 行的 Contract 出了点问题。
这是一个假阴性,因为如果我注释掉这个合同,测试就通过了。在调试器中尝试遵循这一点时,它与在属性 getter 中创建边缘的时间有关。然而,我无法解开这个问题,因为调试器调用这些 getter,主题代码调用它们,合约代码调用它们,可能是静态的,也可能是动态的,我只是迷失了试图遵循它,并认为我会向那些比我更了解合同执行细节的人提出这个问题。
这是违规合同;将其注释掉会使单元测试成功:
wcf - SvcUtil 和 /dconly 为未标记 DataContract 属性的数据类型生成 XSD
有没有人遇到过 Svcutil 和 /dconly 选项的问题,它为程序集中的每个数据类型生成元数据,即使它没有用 [DataContract()] 属性标记?它似乎还在为仅在代码中引用的类型生成元数据,例如 XmlDictionaryReaderQuotas,即使这些不是我在其上生成元数据的物理程序集的一部分。
一些信息:使用 .NET 4.0 版本的 SvcUtil。类是否为空都没有关系。在命令行中没有为 SvcUtil 指定引用。
命令行:
"C:\In Progress Work (Prospective)\Prospective Server\Prospective Server\Management\Prospective.Server.Server.NET40.Debug.AnyCPU.dll" /nologo /t:metadata /d:"C:\In Progress Work (预期)\预期服务器\预期服务器\管理" /dconly
wcf - WCF 消息协定和命名空间
我有一个 WCF 服务,我已经为它定义了一个消息契约。我已将 IsWrapped 设置为 false。当我将 xml 发送到我的服务时,我必须在肥皂体的根节点中指定 tempuri 命名空间,否则传入的消息为空。我想知道是否可以使用任何设置,这样我就不必在 xml 中传递命名空间?顺便说一句,我正在使用 XmlSerializerFormat。我尝试在 MessageBodyMember 中设置命名空间,但它不起作用。
c#-4.0 - How do I use code contracts in .NET 4.0 without making my code look cluttered?
I have started using Code Contracts and have found that it makes it difficult to immediately spot the 'guts' of a method.
Take this (very simple) example:
Now I'm tempted to put the contracts in a region, so that they can be hidden away, but then I'm concerned that I'm losing a nice advantage of being able to glance at the method and see what it expects.
What do you do to keep your contracts 'tidy'? Or am I just being too picky?
c# - 所有 .NET 都更新为使用合同了吗?
自从将合同引入 .NET 4.0 以来,我想知道微软是否像在 BCL 中那样将其传播到他们的所有类?
如果不是,那为什么?这种特性只有在标准库默认支持的情况下才有意义,对吧?
java - java中的合约
我试图更多地了解java中合同的含义。
这是java中两个合约的示例:
第二个:
任务是使用这些先决条件更改给定数组,以便在出现任何 4 后出现 5。例如:
fix45({5,4,9,4,9,5}) -> {9,4,5,4,5,9}
fix45({1,4,1,5}) -> {1,4,5,1}
这是我写的(有效):
我的问题: 1. 两份合同有什么区别?2.我真的应该检查前置条件吗?3. 这个“和”是什么意思?4. 我的代码应该如何根据第二份合同进行更改?
感谢你们。
c# - WCF - 使用完全相同的数据合同的多个服务合同
我对 WCF 大师有一个新问题。
所以,我有一个类User
接近数据库中用于数据库操作的“用户”表示。现在,我想要 2 个不同的服务合同,将此类用作数据合同,但每个服务合同都有自己的方式......我的意思是,
因此,这个想法是每个服务将获得不同类型的用户,即'User'
. 请记住,我想按'User'
原样使用数据库操作,我有什么选择来实现这一点?我真的需要创建不同的数据合约还是有其他更聪明的方法?
最好的办法不仅是给我解决方案,还要向我解释一些最佳实践和替代方案。
先感谢您。
EDIT1:我在这里添加了一个虚拟 DBLayer 类以获得更好的概述,以及为什么我认为在这种情况下继承可能不好。
一个解决方案是使用另一个 ' UserForService1
' 和 ' UserForService2
' 作为数据合约,它们将在最后从/到一个 ' User
' 映射,但我想要一些其他的观点。
EDIT2:非常好的文章在这种情况下对我有帮助:http: //bloggingabout.net/blogs/vagif/archive/2009/03/29/iextensibledataobject-is-not-only-for-backward-compatibility.aspx