• 十、模块

    十、模块

    原文:Modules

    译者:飞龙

    协议:CC BY-NC-SA 4.0

    自豪地采用谷歌翻译

    编写易于删除,而不是易于扩展的代码。

    Tef,《Programming is Terrible》

    十、模块 - 图1

    理想的程序拥有清晰的结构。 它的工作方式很容易解释,每个部分都起到明确的作用。

    典型的真实程序会有机地增长。 新功能随着新需求的出现而增加。 构建和维护结构是额外的工作,只有在下一次有人参与该计划时,才会得到回报。 所以它易于忽视,并让程序的各个部分变得深深地纠缠在一起。

    这导致了两个实际问题。 首先,这样的系统难以理解。 如果一切都可以接触到一切其它东西,那么很难单独观察任何给定的片段。 你不得不全面理解整个东西。 其次,如果你想在另一个场景中,使用这种程序的任何功能,比起试图从它的上下文中将它分离出来,重写它可能要容易。

    术语“大泥球”通常用于这种大型,无结构的程序。 一切都粘在一起,当你试图挑选出一段代码时,整个东西就会分崩离析,你的手会变脏。

    • 模块
    • 即兴的模块
    • 将数据执行为代码
    • CommonJS
    • ECMAScript 模块
    • 构建和打包
    • 模块设计
    • 总结
    • 练习