jQuery 重构/维护

标签 jquery refactoring maintainability

我已经搜索了一些,但没有找到任何对我有帮助的问题/答案。问题是我的 jQuery 函数调用变得太大而无法维护。我想知道我是否应该进行更多重构,或者是否有更好的方法来完成所有这些调用。当我进行一次调用时,您会看到,作为函数参数的匿名函数最终变得非常大,并使代码的可读性变得非常糟糕。理论上我可以将所有这些分解为各自的功能,但我不知道这是否是最佳实践。以下是迄今为止的一些 jQuery 的示例:

$('#dialog').html('A TON OF HTML TO BUILD A FORM').dialog('option', 'buttons', { 'Save': function(){$.post('/use/add/', $('#use_form').serialize(), function(data){ ......There were 4 more lines of this but I'm saving you so you don't rip your eyeballs out hopefully you get the idea.....dialog('option','title','New Use').dialog('open');

正如您所见,由于我调用的许多函数都将函数作为参数,因此当我创建匿名函数时,我最终陷入了一片困惑(此代码中大约还有 3 个匿名函数声明)

我应该简单地创建一堆函数并调用它们以使其更具可读性吗?我反对这样做的唯一原因是因为我声明了一堆只使用一次的函数。

预先感谢您的帮助!

最佳答案

在正确的范围内定义函数,这没什么大不了的。

var generateHTML = function() {
  ...
};
var somethingElse = function() {
  ...
};

... some more ...

$('#dialog').html( generateHTML() )...etc

除了一般性地重新组织代码(例如 using an object oriented style )以封装代码以使其不那么困惑之外,您无能为力。

关于jQuery 重构/维护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024332/

相关文章:

sql-server - 从sql脚本创建mdf文件

c - #define 中 #if 的最佳替代方法是什么

ios - 如何维护最初通过 CocoaPods 安装但后来手动修改的 iOS 框架?

javascript - 将 div 置于另一个 div 之下

jquery - 如何在不使用 html 的情况下将元素包含在 div 中?

eclipse - 如何使用 Eclipse 重构工具并通过 Subclipse 与 SVN 保持同步?

sql-server - 如何重构使用插入表和删除表的触发器,以将公共(public)代码移动到存储过程

design-patterns - 关于CQRS的一些问题

php - 实时更新 MySQL 数据

javascript - 根据一个子jquery单独隐藏下拉菜单