小编Ugh*_*ent的帖子

测试文件应该放在与源文件相同的文件夹中吗?

是否更容易将测试文件放在他们测试的源文件旁边(在同一src目录中),还是应该tests创建一个具有镜像层次结构的单独目录?

将它们放在同一个文件夹中似乎可以使维护生活更轻松,但也会挤占源目录.

选项1:具有源和测试的单独文件夹时的目录结构:

- src
+-- item.ts
`-- util
    +-- helper.ts

- test
+-- item.test.ts
`-- util
    `-- helper.test.ts
Run Code Online (Sandbox Code Playgroud)

选项2:将两种类型的文件放在同一目录中时的目录结构:

- src
+-- item.ts
+-- item.test.ts
`-- util
    +-- helper.ts
    `-- helper.test.ts
Run Code Online (Sandbox Code Playgroud)

我曾经一直使用选项1,直到尝试angular-cli并在测试文件旁边生成代码文件,如选项2所示,这使我重新思考整个事情.

javascript testing typescript karma-runner

23
推荐指数
2
解决办法
6892
查看次数

最糟糕的情况是从集合中创建HashSet <int>的复杂性

我有一组int值,我HashSet<int>用以下方式填充a -

var hashSet = new HashSet<int>(myIEnumerable);
Run Code Online (Sandbox Code Playgroud)

假设迭代IEnumerableis O(n),那么以这种方式创建a 的最坏情况复杂度是HashSet<int>多少?

.net c# complexity-theory

10
推荐指数
2
解决办法
1397
查看次数

如何将实例方法转换为委托?

在委托中调用静态方法似乎很简单,因为在调用委托本身时,它们的所有参数都将传递给它们.
但是,当一个实例方法被添加到委托时,'this'参数在委托调用期间似乎被忽略了,所以我只能想象它与委托本身一起保存 - 类似于一个闭包可以用于其他参数.

问:当实例方法传递给委托时,编译器是否会创建闭包,或者是否有不同的机制来完成此操作?

.net c# delegates closures

4
推荐指数
1
解决办法
2355
查看次数