在我的理解中,良好分解和模块化代码的好处是可重用性和组织性。在一个文件中以大块编写的代码难以阅读,并且重复使用代码的一小部分需要仔细复制粘贴,而不是包含语句。
特别是关于 Javascript,我最近遇到了一个让我思考这个问题的例子。对 SO 进行了评论,大意是,如果您没有逐页有条件地包含您的 javascript,这“表示未能正确模块化 JS 代码”。但是,从代码重用和组织的角度来看,没有理由考虑在页面加载时会发生什么。如果将代码编写在一堆单独的文件中,然后在提供服务之前将其混合在一起并缩小,那么代码将同样具有可读性。例如,rails 资产管道就是这样做的。
当我第一次遇到资产管道时,我的思绪摇摇欲坠,我开始想知道“我如何让 javascripts 仅在需要时加载?” 我阅读了一些 SO questions和一篇关于此事的文章,并开始认为也许我不应该担心我的代码在“编译”后会发生什么。
编写模块化代码的目的是否纯粹是人类活动,我们是否应该在代码开始运行后停止担心模块化?在 Javascript 的情况下,我们是否应该担心我们的脚本在被包含之前被混合在一起?