模块和包系统、Prelude
前言
随着工程的增大,把所有代码写在一个文件里面,是一件极其初等及愚蠢的作法。大体来讲,它有如下几个缺点:
- 文件大了,编辑器打开慢;
- 所有代码放在同一个文件中,无法很好地利用现代多窗口编辑器,同时查看编辑相关联的两个代码片断;
- 代码数量过多,查找某一个关键词过慢,定位到某一行代码的效率会大大降低;
- 会大大增加上翻下翻的频率,导致你的鼠标中间滚轮易坏;
- 不断地上翻下翻,会导致你头晕;
- 头晕了,就容易写出错误的代码,甚至改错文件中的某一行(相似的地方,改错地方了);
- 出现bug,根据错误反馈,知道是哪一片逻辑的问题,但不容易快速定位;
因此,模块是几乎所有语言的基础设施,尽管叫法各有不同。