Google Spreadsheet/GAS/俺のベストプラクティス

Google Spreadsheet/GAS/俺のベストプラクティス

いくつか GAS のプログラムを書いた上でのウマイ手法

1シート1クラス

1シートを1クラスとして実装し、そこに値を入れたり出したりするメソッドを実装する。

Sheet Object という考え

Google Spreadsheet/GAS/シートオブジェクト

1レコード1クラス

各シートの1レコードの意味ある塊を1クラスとして実装する。 意味ある概念を1クラスとして実装し、それに統合したくなる。しかし別個に作ったほうがよい。

Action クラスを作る

動作させる場合は複数のシートを連携させてなにかの機能を実現させるので、 複数のシートを統括して実際の目的に向かって動作させる Action クラスを作る。

このクラスをエントリーポイントとなる関数で生成、キックすることになる

main.gs

エントリーポイントとなる関数をここに集める。 基本的に Action を生成してキックするだけである。

更新取得は Values を使う

セルの更新には setValues 取得には getValues を使う。

セルを都度読むと実行パフォーマンスが(かなり)悪い。

制御用シート

同時更新や微妙なタイミングの読み出しを避けるために関数実行制御用のフラグを格納するためのシートを作って 各処理はかならずそれを最初に参照するようにする。

google/gdrive/google_spreadsheet/google_apps_script/my_best_practice.txt · 最終更新: 2018-09-28 15:45 by ore