模块和包系统、Prelude

前言

随着工程的增大,把所有代码写在一个文件里面,是一件极其初等及愚蠢的作法。大体来讲,它有如下几个缺点:

  1. 文件大了,编辑器打开慢;
  2. 所有代码放在同一个文件中,无法很好地利用现代多窗口编辑器,同时查看编辑相关联的两个代码片断;
  3. 代码数量过多,查找某一个关键词过慢,定位到某一行代码的效率会大大降低;
  4. 会大大增加上翻下翻的频率,导致你的鼠标中间滚轮易坏;
  5. 不断地上翻下翻,会导致你头晕;
  6. 头晕了,就容易写出错误的代码,甚至改错文件中的某一行(相似的地方,改错地方了);
  7. 出现bug,根据错误反馈,知道是哪一片逻辑的问题,但不容易快速定位;

因此,模块是几乎所有语言的基础设施,尽管叫法各有不同。