在本课中,我们将研究 重构我们的代码并记录下来。 这里有个好消息。 如果我们到了这一点,那可能意味着我们已经接近 直到我们要做的代码为止 或至少通过 我们要做的代码。 因此,其中一些事情可能会听起来 像常识一样,但是在我的咨询和编码生涯中 我发现有时候常识 并不是很常见。 因此,如果您已经知道这些知识,那么对您有好处。 首先,我们要看 附加事件处理程序的方法 我们都养成了编码习惯,对吗? 这两个事件处理程序的问题 我们想做两件事吗 当有人单击特定按钮时。 我们完成方法的问题就是其中之一 会覆盖另一个 由于我们进行事件分配的方式, 所以我们真的想避免这种情况 希望它不会来 到重构阶段,然后我们才知道这一点。 但是如果有的话 然后让我们将其更改为其他内容。 例如,如果您有jQuery,则可以使用on。 如果您使用的是常规JavaScript 您可以添加事件监听器。 这确保了任何其他处理程序 不要像我们以前那样覆盖以前的处理程序。 到目前为止,一切都很好。 同样,也许是常识性的一种知识。 接下来是 我有时也会养成同样的习惯 我陷入一种方法,我不确定什么事情 关于我将需要的方法中的特定对象。 所以请注意,我的名字全都散落在那儿 在几种不同的配置中 当我重构自己真正想做的事时 回去使代码更简洁, 或至少不那么容易受到我的输入错误的影响 因为我是jQuery的大人物 只是这样做而忘记了英镑符号 然后我的代码不起作用。 所以,如果我要改变这一点, 我将只创建变量。 这就是下拉框 所以我可以做选定的索引或者我可以加标 在jQuery上找到并获取选定的选项 然后在我准备好时进行预挂起 在里面放东西 所以这里有几个快速提示 只是将自己从自己身上救出来。 那个怎么样? 接下来的事情似乎又很基本, 但是我们不想做的就是结束 与某种单独的脚本文件,我们 只是将一堆函数转储在那里。 通常,您会看到它称为我们的utils文件, 因为我们不知道该怎么称呼它。 这是一个提示。 如果您没有真实的名字 您的文件是什么,那么您可能已经 太多的东西被转储到一个文件中。 所以这里只有几个,但我有 加,减,乘 然后这也是问题所在 只是坐在全局命名空间中 因为我在该客户的文件中又添加了一个 如果我在同一页面中同时使用它们, 现在我有一个冲突。 因此,就这一步而言,我们可以做的一件事 就是将其放在模块中。 我们也可能会探索将其放入 也要上课 但是使用JavaScript模块,您可以选择 仅导出某些功能 而且你没有把东西放在那里 在全局名称空间中,或者至少这是一个更容易的构造 以确保您不会。 例如,我在这里拥有了所有这些 加,减和乘。 当我看到这些时,我正在看的另一件事是, 您知道,它们都具有相同的参数集。 如果您发现自己有这种情况, 您可能想看什么 变成了一个对象 因为我们希望我们的参数列表简洁明了 尽可能的,尤其是你们中的那些 来自功能世界 这当然是一个问题。 所以也许如果我们拥有所有这些 他们被困在utils类中 还有一堆可能不应该存在的其他代码, 让我们继续将其放在其他位置。 因此,我创建了一个名为数学运算的类, 再一次,这些都不是开创性的 数学类型的运算 他们很简单,但我试图证明 关于如何创建功能的更多要点 不必将其放在全局名称空间中。 现在我有一个叫做数学运算的课程 确实需要一个构造函数, 但请注意,每个加法和减法 和乘法方法现在需要 一个称为三元组的参数, 而我为支持这一点而创建的只是 另一类称为三元组 并验证这些东西是数字 为了创造它 并继续前进,并赋予他们自己的价值观 这样我就可以把那些传进去了。 现在,我也想谈谈文档。 现在您可能会注意到我在那里还有一些其他评论 有一些额外的令牌,这是一种方法 来记录您的代码,它是一个称为JS doc的软件包。 您可以在许多地方获得它。 我从那里得到的地方是NPM, 所以如果你还没有的话,这很简单 转到命令行 并进行JS文档的NPM安装。 拿到那个包裹后, 现在您可以开始创建这些注释。 事实上,如果您愿意, 您甚至不必输入所有这些内容。 我可以在这里尝试例如。 如果我只是这样做,那我们就走了, 正斜杠和两个星号, 它实际上会为我读取功能的签名 以及构建该文档的开始。 现在,我已经指定了这些 参数的数据类型以及数据类型 什么回来。 其余的只是描述。 我们要做的是建立一个文档页面 这会出现在这里。 所以我们可以在这里放任意文字 当我们返回时,这将构建HTML页面 到命令行并创建它。 就基本而言,param只是, 你可以把名字放在那里 再次,任何您想要的描述。 不知道我是否需要,但是你知道, 评论就是这样。 在阅读时,我们认为, 好吧,我们确切地知道它是什么, 但是等一下我们回去 或当其他人使用我们的代码时, 将其放在其中可能是一个好主意。 因此,我已将其指定为构造函数。 有关所有参数的信息。 这将显示为描述 以及任何返回值的东西 我们将类型标记为退货。 现在,如果您要创建文档 对于不同的文件,您也可以使用它来创建链接 在您创建的HTML页面上 这样人们就可以从一个浏览到另一个。 现在,这些类在这一点上紧密耦合 等等,在这个页面上,我想提供一个链接 到三元组和三元组的文档 我提供了一个链接,返回数学运算。 因此,您可以做很多您想做的事情。 如果您回到命令行, 我们要去做JS文档 然后我要告诉它去哪里 为了建立文件, 我也可以告诉它放置文件的位置 在建造它们时。 因此,对于这个项目, 我要让它做自己想做的事 尽可能将这些文件放在哪里。 但是我想去看文档 脚本中的所有内容。 因此,只要有我提供的文档,我都会为它提供一个页面, 否则,它将变得无视。 最好的结果就在这里,我们去了, 是我这样做了,我只是回到了命令提示符。 所以我应该有一个out文件夹。 在那里。 那是它在我的应用程序中创建的默认值 我可以通过索引点HTML来了解所有这些信息。 因此,这里有记录的类。 我在基本页面上没有做任何描述, 但是有数学运算。 有我的构造函数。 有每种方法。 它告诉我代码中的位置 我可以使用该链接浏览到其他班级 您会看到我没有对所有内容进行描述, 但是当我这样做时,它就会显示在那儿。 因此,可以方便地进行文档编制。 只需添加一些评论即可 而且我们都知道这样做会更容易 在创建它的时候,以后就不做了。 感谢您的收看。 在我们的下一课中 我们将讨论捆绑和缩小 当我们准备好发货时。