Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我刚刚意识到我可以定义自己的 Prelude 模块并仔细控制它的导出。这被认为是不好的做法吗?
优点:
无需在大型项目中重复导入“通用”模块。
无需写“导入前奏隐藏(catch)”。
一般来说,这是一个坏主意,因为您最终会使用自己的惯用语编写代码,而其他人不容易维护。
要与他人交流,您需要一种共享的符号语言。ThePrelude是我们的核心语言,所以如果你重新定义它,可能会感到困惑。
Prelude
此规则的例外是在开发嵌入式领域特定语言时。在那里,制作自定义 Prelude 完全是一个好主意,这也是为什么可以重新定义 Prelude(和内置语法)的原因。
无论如何都有自己的附加模块,但不要覆盖 Prelude。