124得票7回答
ReSharper Curiosity: "参数仅用于前置条件检查。"

为什么ReSharper会对我的代码进行评判? private Control GetCorrespondingInputControl(SupportedType supportedType, object settingValue) { this.Valida...

75得票3回答
Guava checkNotNull 的作用是什么?

我对Guava还比较陌生(说实话,我不是“相当陌生”,在这方面我完全是新手),所以我决定阅读一些文档,并在阅读以下内容时感到非常惊讶: com.google.common.base.Preconditions.checkNotNull(...) 我不明白这个方法的意义。这意味着不再进行以下...

22得票4回答
在 Kotlin 中的前置条件函数 - 良好实践

作为一名 Kotlin 新手编码者,我想知道是否有一些好的实践或语言结构可以在函数中声明前置条件。在 Java 中,我一直在使用 Guava 的 Preconditions 检查工具: https://github.com/google/guava/wiki/PreconditionsExp...

17得票3回答
不能为null的shared_ptr?

使用std::shared_ptr表示共享所有权和可选性(其可能为null)。 我发现自己在某些情况下只想在代码中表示共享所有权,而不需要可选性。当将shared_ptr用作函数参数时,我必须让函数检查它是否为空才能保持一致/安全。 当然,在许多情况下,传递引用是一种选择,但我有时也想像使...

17得票2回答
不同前置条件测试方法的优缺点?

凭记忆,我可以想到4种检查空参数的方法:Debug.Assert(context != null); Contract.Assert(context != null); Contract.Requires(context != null); if (context == null) throw...

14得票3回答
Liquibase先决条件:如何检查列是否为非空?

我有一个数据库升级脚本,用于移除一列上的非空约束。我想进行前置条件检查,仅在该列不为空时调用ALTER TABLE。 master.xml脚本是逐步式的,我不断添加脚本,每次都运行整个脚本。在我的Alter Table脚本首次运行之后,我不希望再次运行它。 找不到预定义的前置条件,并且无法...

12得票1回答
使用前置条件测试Swift代码

你如何为具有前置条件的Swift方法编写测试?这里是一个例子:func doublePositive(n:Int) -> Int { precondition(n >= 0) return 2*n } 使用 XCTAssertThrowsError 是无效的:fun...

12得票4回答
缓慢的Scala断言

最近我们一直在对代码进行性能分析,发现了一些让人烦恼的瓶颈。它们的形式如下:assert(a == b, a + " is not equal to " + b) 由于某些断言可能在被调用的代码中被大量执行,因此字符串连接操作会逐渐累加。 assert 的定义如下:def assert(ass...

12得票5回答
Google Guava的Preconditions.*方法应该提供什么样的适当错误信息?

例如,当使用Preconditions.checkArgument时,错误消息应该反映出问题检查的通过情况还是失败情况? import static com.google.common.base.Preconditions.*; void doStuff(int a, int b) { ...

12得票4回答
在.NET中检查前置条件

我支持“尽早失败”策略,并希望检查方法参数是否具有正确的值。在Java中,我会使用类似Guava的东西:checkArgument(count > 0, "must be positive: %s", count); 在 .NET 中有类似的东西吗?