回答編集履歴

7

 

2022/06/18 03:39

投稿

退会済みユーザー
test CHANGED
@@ -9,7 +9,7 @@
9
9
  // グローバル領域に記載
10
10
  const ss = SpreadsheetApp.getActive() || SpreadsheetApp.openById("シートID");
11
11
  ```
12
- 実行する毎に、ssは最初の読み込み時に処理され、実行する毎にシート読み込みのAPIコールは1回だけ実行されます。
12
+ ssは最初の読み込み時に処理され、シート読み込みのAPIコールは1回だけ実行されます。
13
13
  あとは他の関数からこのグローバル変数ssを利用するだけですので、無駄なAPIコールは発生しません。
14
14
 
15
15
  その記事では「自分はこんな感じでシート**に関する処理**をラップしています。」と書いてあることから、シートの取得だけでなく、範囲データの取得等その他諸々の処理を LibrarySS という**名前でまとめ**、かつ**APIコールを減らせるように**ラップしているのでしょう。

6

 

2022/06/18 03:02

投稿

退会済みユーザー
test CHANGED
@@ -28,6 +28,6 @@
28
28
  このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、
29
29
  ・グローバル変数を減らす
30
30
  ・コード編集時に補完が聞いて使いやすくなる、
31
- というメリットがラップを用いていることの別の側面です。
31
+ というメリットがラップを用いていることの別の側面です。(もちろん質問文に記載の保守性が高まる点もメリット)
32
32
 
33
33
 

5

 

2022/06/18 03:01

投稿

退会済みユーザー
test CHANGED
@@ -1,5 +1,6 @@
1
1
  その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
2
- その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。ラップした結果として、APIコールの戻り値(シートオブジェクト)が実行中に保管され、他の関数で使いまわせるようになって高速化している、というだけです、。
2
+ その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
3
+ ラップした結果として、APIコールの戻り値(シートオブジェクト)が実行中に保管され、他の関数で使いまわせるようになって高速化している、というだけです。
3
4
 
4
5
  なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
5
6
  単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。

4

 

2022/06/18 03:01

投稿

退会済みユーザー
test CHANGED
@@ -1,5 +1,5 @@
1
1
  その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
2
- その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
2
+ その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。ラップした結果として、APIコールの戻り値(シートオブジェクト)が実行中に保管され、他の関数で使いまわせるようになって高速化している、というだけです、。
3
3
 
4
4
  なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
5
5
  単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。
@@ -24,6 +24,9 @@
24
24
  var values = range.getValues();
25
25
  ```
26
26
   
27
- このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
27
+ このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、
28
+ ・グローバル変数を減らす
29
+ ・コード編集時に補完が聞いて使いやすくなる、
28
- この点に限れば高速化直接関係しなと思います。(イブラリの中でAPIコール減らす実装をすることで高速化しているだけ)
30
+ というメリットがップ用いていることの別の側面す。
29
31
 
32
+

3

 

2022/06/18 02:58

投稿

退会済みユーザー
test CHANGED
@@ -25,5 +25,5 @@
25
25
  ```
26
26
   
27
27
  このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
28
- この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)
28
+ この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化しているだけ
29
29
 

2

 

2022/06/18 02:57

投稿

退会済みユーザー
test CHANGED
@@ -1,5 +1,5 @@
1
1
  その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
2
- その記事では、APIコールを減らす**手段**としてオブジェクトのラップを用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
2
+ その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
3
3
 
4
4
  なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
5
5
  単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。
@@ -26,3 +26,4 @@
26
26
   
27
27
  このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
28
28
  この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)
29
+

1

 

2022/06/18 02:56

投稿

退会済みユーザー
test CHANGED
@@ -25,4 +25,4 @@
25
25
  ```
26
26
   
27
27
  このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
28
- この点高速化と関係ないと思います。
28
+ この点に限れば高速化と直接関係ないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)