如何清理全局空间而无需创建 +1000 行
.gs
文件
.gs
文件无法像 .js
模块一样手动混合,这意味着我无法 import
或 export
(对吗?),也无法控制搜索补全时显示的内容;function groupOfFunctions() {
this.doThis = function() { /* hundreds of lines */ };
this.doThat = function() { /* hundreds of lines */ };
// ...
this.subFunc_N = function() { /* hundreds of lines */ };
return this; // <-- makes tired face after this
};
如何清理全局空间而不必创建 +1000 行
.gs
文件
欢迎文章、博客、视频等。
多年后,在回顾我自己的问题后,我得出的结论是:
globalThis
乍一看看起来有些过分;然而,使用情况告诉我,按 ctrl
+space
后列出的每个项目都经过精心设计,变得简单,因为您会经常使用它们。我曾经编写如下所示的代码:
function getSpreadSheet() {//code...};
function getStudentsSheet(){//code...};
funcrion getStudentsDataRange(){
return getStudentsSheet().getDataRange()}
function getStudentsSheetValues(){
return getStudentsSheetDataRange().getValues()};
function logValues() {
console.log( getStudentsSheetValues() );
};
虽然可能很简单:
function logValues() {
const id = '...'
const values = SpreadsheetApp
.openById(id)
.getSheetByName('Students')
.getDataRange().getValues();
console.log(values);
}
有一点是少即是多,尤其是在抽象和继承方面。简单是关键。