gpt4 book ai didi

haskell - 导入 Haskell 模块特定部分的好处

转载 作者:行者123 更新时间:2023-12-03 06:18:44 25 4
gpt4 key购买 nike

除了潜在的名称冲突(可以通过其他方式解决)之外,仅从模块中导入所需的部分有什么好处:

import SomeModule (x, y, z)

...只需导入所有内容,这更简洁且更易于维护:

import SomeModule

例如,它会使二进制文件更小吗?

最佳答案

名称冲突和二进制大小优化只是您可以获得的好处中的两个。事实上,始终确定您想从代码的外部世界获得什么是一个很好的做法。因此,每当人们查看您的代码时,他们就会知道您的代码到底请求什么。

这也为您提供了一个很好的机会来创建用于测试的模拟解决方案,因为您可以处理导入列表并为它们编写模拟。

不幸的是,在 Haskell 中,类型类实例并不那么容易。它们是隐式导入的,因此可能会产生冲突,而且它们还可能使模拟变得更加困难,因为无法仅指定特定的类实例。希望这个问题可以在 Haskell 的 future 版本中得到解决。

更新

我上面列出的好处(代码维护和测试模拟)不仅限于 Haskell。事实上,据我所知,这在Java中也是常见的做法。在 Java 中,您可以只导入单个类,甚至单个静态变量/方法。不幸的是,您仍然无法有选择地导入成员函数。

关于haskell - 导入 Haskell 模块特定部分的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com