type-safety相关内容

TypeScript 类型推断问题

我将 TypeScript 与 MongoDB node.js 驱动程序一起使用.请注意,这不是 Mongo 问题,它只是我遇到的这个问题的特定用例. 几乎每个 Mongo 调用都使用 (arg1, arg2, ..., argn, callback) 的模式,其中 callback 是一个接受 (错误,资源).但是,我想使用承诺.我试图通过编写一个辅助包装函数来简化我的用法,如下所示: ..
发布时间:2021-09-11 19:55:27 其他开发

在 PHP 中模拟值类型结构类

有没有办法在 PHP 中模拟结构类?即一个通过值而不是通过引用传递的类,所以它仍然可以被类型提示...... 如果是这样,可以使用哪些不同的技术?最好的技术是什么? 如果可以的话,您显然可以为 PHP 创建一个完全类型安全的层,是否有这样的层?有没有人有这方面的经验? 解决方案 对象总是通过引用传递.使它们作为副本传递的唯一方法是显式使用 clone 关键字(是的,无处不在). ..
发布时间:2021-08-31 19:21:34 PHP

C++ - 通过指针访问向量元素的安全性

在我的一个 C++ 项目中,我使用一个 vector 来保存一堆 struct ,这些 struct 保存了一个简单游戏的许多元素(即:tic-tac-toe、坐标、x 与 o 等).即: struct gameMove{整数 x;输入 y;国际球员;有序;}; 每次在单局游戏中,每当玩家进行移动(即:放置x 或o),信息都存储在向量中 通过 push_back(),创建一个“撤消"功能,目前 ..
发布时间:2021-08-30 19:12:59 C/C++开发

不明确的隐式值是我们想让错误在编译时存在的唯一方法吗

trait Footrait Bar 扩展了 Foodef doStuff[T 隐式解析发生在编译时,所以在这里我认为可能有两个具有完全相同类型的隐式值来触发模棱两可的东西. 现在,我要在团队中引入shapeless,我的同事认为这种含糊不清的隐式并不理想,我对此没有强烈的争论.这是为了使 Scala 中的类型安全而这样做的唯一方法吗?如果是,我该怎么做才能自定义错误消息? 编辑: ..
发布时间:2021-07-15 20:26:08 其他开发

禁止生成申请案例类

我正在编写一个类型安全的代码,并想用我自己的实现替换为 case classes 生成的 apply().这是: import shapeless._密封性状数据case 对象远程扩展数据case 对象本地扩展数据案例类 SomeClass(){类型 T 我想禁止 val t: SomeClass = SomeClass() 编译.除了不要 SomeClass 成为 case class 之 ..
发布时间:2021-07-15 20:25:02 其他开发

辅助模式用法在不推断适当类型的情况下编译

考虑以下涉及 Aux-pattern 的简单示例: 密封性状 AdtBase抽象案例类 Foo(){输入 T Scastie 我真的不明白为什么 testBaz 会编译.我也预计类型不匹配. 解决方案 似乎没有深层原因. 因为当您显式指定类型参数时,两种方法都会编译 def testBaz(baz: Baz) = Bar[baz.foo.T](baz.foo)//编译d ..
发布时间:2021-07-15 19:58:46 其他开发

为什么 asInstanceOf 不抛出 ClassCastException?

为什么 asInstanceOf 不抛出 ClassCastException ? scala>List("a").asInstanceOf[List[Int]]res34: List[Int] = List(a) 解决方案 来自 scaladoc: 请注意,运行时强制转换的成功是模 Scala 的擦除语义.因此表达式 1.asInstanceOf[String] 将在运行时抛出 Cl ..
发布时间:2021-07-15 19:23:54 其他开发

Swift 中的 NSUserDefaults - 实现类型安全

关于 Swift 和 Cocoa 的问题之一是使用 NSUserDefaults,因为没有类型信息并且总是需要将 objectForKey 的结果转换为您期望的结果得到.这是不安全和不切实际的.我决定解决这个问题,让 NSUserDefaults 在 Swift-land 中更加实用,并希望在此过程中学到一些东西.这是我一开始的目标: 完整的类型安全:每个键都有一种与之关联的类型.设置值时, ..
发布时间:2021-06-09 20:34:29 移动开发

Java:抽象枚举常量

是否有一种方法可以将抽象枚举声明为函数参数?我要实现的目标是: interface EnumInterpreterInterface {String getStringValue(**抽象枚举常量** e);}接口EnumProviderInterface {//实现此接口的类将至少包含一个枚举枚举getEnum();}EnumProvider类实现EnumProviderInterface ..
发布时间:2021-05-04 20:27:02 Java开发

比较double与int

在阅读《使用C ++编程原理和实践》这本书时,在第3章中指出我们不能直接将double与int进行比较.但是,当我在Visual Studios上对其进行测试时,它运行正常且没有错误?他不能将double与int进行比较是什么意思.后来,他解释说C ++提供了一种间接方式.他是说隐式转换吗? 解决方案 是的,存在隐式转换. 请考虑以下程序: bool f(){返回3 == 3.0 ..
发布时间:2021-04-23 19:51:47 C/C++开发

使用Rust编译器来防止忘记调用方法

我有一些类似这样的代码: foo.move_right_by(10);//做点事foo.move_left_by(10); 最终执行这两个操作非常重要,但是我经常忘记执行第二个操作.它会导致很多错误,我想知道是否存在一种惯用的Rust方式来避免此问题.有没有办法让rust编译器在我忘记时让我知道? 我的想法是也许以某种方式有这样的东西: //must_use将防止我们忘记它,如果它 ..
发布时间:2021-04-09 18:30:36 其他开发

使用Java接口作为参数来加强严格(更好)类型安全性的想法

更新 基于以下输入.一次又一次,我感到类型安全使用Java接口的努力不那么简单. 这是我们想要做的一个简单示例:设计,紧随其后.经过多次尝试以获得类型安全性的实现时,我(再次 )发现我们需要使用Java进行思考,以鼓励Java支持我们的需求.我对原始示例进行了改进.我将问题悬而未决,因为可能有更好的方法来解决问题. 意图: 考虑一些我们想放入哈希表的不同类. 我们希望将这些作为 ..
发布时间:2020-11-29 23:40:57 Java开发

如何使此策略对象模式类型安全

这是我先前提出的问题的长篇 对于tl版本,请参见此处:链接 对于这句话,我感到抱歉,但请多多包涵.我为这个问题付出了很多努力,并且我相信这里的问题应该使许多人感兴趣. 背景 我正在用经典的场景图编写UI框架.我有一个名为 Component 的抽象顶级类,还有许多子类,其中一些是具体的,而另一些也是抽象的.一个具体的子类可能是 Button ,而一个抽象的子类可能是 Col ..
发布时间:2020-11-13 05:49:55 Java开发

Java通用方法擦除和继承

我遇到了javas泛型和覆盖方法的问题.想象一下,我有一个像树一样深的类层次结构.顶级类定义了一个方法foo,该方法带有1个类型为Strategy的参数.策略具有通用类型参数. 我的类层次结构中的每个类都需要重写foo来限制可以传递的Strategy的类型,以便该Strategy的泛型类型参数与声明的类匹配.下面是一个示例: abstract static class TopLevel ..
发布时间:2020-11-13 05:17:44 Java开发