Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个模块化和有组织的javascript网站_Javascript_Design Patterns_Organization_Modularity - Fatal编程技术网

创建一个模块化和有组织的javascript网站

创建一个模块化和有组织的javascript网站,javascript,design-patterns,organization,modularity,Javascript,Design Patterns,Organization,Modularity,我正在寻找一些关于如何使我的Javascript保持组织化和模块化的通用技巧 我参与的最新javascript密集型项目看起来像[如下][1](格式化) 正如您所看到的,我尝试为我的javascript命名,并构建一些独立的函数。尽管如此,当我以后需要实现特性时,有时我仍然会迷失在自己的代码中。我有了这样的想法,我可以在组织代码方面做得更好 基于您在此处看到的内容,是否有任何常规指针?我遵循的一些做法可以保持我的Javascript井然有序: 将所有库缩小为单个文件 除非另有要求,否则在页脚中加

我正在寻找一些关于如何使我的Javascript保持组织化和模块化的通用技巧

我参与的最新javascript密集型项目看起来像[如下][1](格式化)

正如您所看到的,我尝试为我的javascript命名,并构建一些独立的函数。尽管如此,当我以后需要实现特性时,有时我仍然会迷失在自己的代码中。我有了这样的想法,我可以在组织代码方面做得更好


基于您在此处看到的内容,是否有任何常规指针?

我遵循的一些做法可以保持我的Javascript井然有序:

  • 将所有库缩小为单个文件
  • 除非另有要求,否则在页脚中加载特定于页面的JS
  • 将所有全局JS合并到一个文件中。{仅在生产阶段缩小}

  • 看看你的JS,它看起来很有条理。因为您正在开发插件,所以在下载插件时能够挑选模块将是一个不错的选择。类似于Jquery UI的东西在过去的两年里,我一直在从事一个项目,拥有相当大(10000多行)的javascript代码库,涉及30多名活跃的javascript开发人员

    因此,您可能会想象,我们在努力保持代码的形状、所有这些都是合理的、易于维护的(这是一个高度敏捷的环境,规范每周都会更改,如果不是更频繁的话)

    我们试图解决结构问题的一些方法如下:

    • 命名空间是必须的
    • 以层为单位构建应用程序,例如,我们在代码中定义了以下层:传输层、数据层、业务逻辑层、控制层和用户界面层
    • 围绕通用的可重用自包含单元测试组件/模块构建您的层,如:状态、选择、模板、存储、事件等
    • 使用模式,阅读各种模式,了解何时使用它们,如果不使用,就开始使用:)
    • 保持编码风格的一致性,除非你绝对有必要,否则不要偏离——代码需要是自解释的,注释是一种邪恶,只有在极端情况下才有必要
    • 试着从这样的角度来思考:重用之前先使用,优雅之前先简单化和可维护性——给自己一些咒语并坚持下去

    你能解释一下“评论是一种邪恶,只有在极端情况下才有必要”吗?对我来说,这有点违反直觉。好的代码应该对读者来说是不言自明的(因为读者熟悉这种语言)——每当你需要在代码中写注释时,你应该停下来思考你是否可以写得更好。也就是说,注释是一个有用的工具,但是如果你不得不依赖它,那么你就有问题了?或者你会把它推广到整个编程世界?使用它是否会让人难以忍受?