一段时间以来,我一直在尝试找出编写 GAS 库的最佳方法,但我很难弄清楚。我阅读了 Douglas Crockford 的 - Javascript: The good parts,我正在尝试在 GAS 中实施这些课程。每个导入的库都会向您的项目(ScriptModule 类型)添加全局变量,因此模块化设计模式似乎是一个不错的起点。借用我链接到这种模式的文章可能如下所示:
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());
然后可以像这样调用这个模块:
var module = LibName.MODULE;
var property = module.moduleProperty; // 1
var method = module.moduleMethod; // ...
据我所知,最好尽可能少地使用全局变量,因此一般建议似乎是将所有内容保存在一个全局变量中。因此,命名约定应如下所示:LibName.PROJECT_NAME,其中项目名称是您的单个全局变量的名称,该变量包含一个包含其他所有内容的模块。
我的目标是设计安全、不冲突的库。我使用这种设计模式是否正确?有没有人为 GAS 库开发了自己的健壮设计模式?