😊

GASを書く際に意識したいこと

2021/03/01に公開

皆さんお馴染みのGoogle Apps Scriptについて記事になります。というのも、最近GASで大規模なものを作ったのでその経験から得た知見を共有しようと思います。

ベースはjavascriptでなので書きやすいです。

APIアクセスを少なくする

getvaluesやsetValuesなどをするとAPIアクセスがその度に行われるので、実行速度的によくありません。重いです。

そのため、for分などを使って一つ一つのセルにアクセスするのではなく、多次元配列で一括で取得して扱いましょう。

const sheet = SpreadsheetApp.getActiveSheet();
const sheetDoubleArrayvalues  = sheet.getDataRange().getValues();

https://qiita.com/sakaimo/items/d535079b5bee4eed8eb1

マジックナンバーをなるべく使わない

マジックナンバーはできるかぎり使わないようにしましょう。できれば変数に格納して意味がわかるようにしましょう。

特に範囲指定や配列回す際によく使います。

オブジェクトで値を使うのもいいでしょう。

const obj = {id: "",name:""};
console.log(obj.id);

配列だとインデックスを指定することがおくなってしまうので、上記のような感じですれば中に何が入っているかがわかりやすくなります。

global変数用ファイルを作ってよく使う変数を格納する

バグが入りやすかったりするので、あまり使わない方がいいといろんな人が言及しています。

とはいえ変更があったり、かなりの頻度でかつ複数の関数で使う変数などはglobal_variable.gsとかにし、そこに変数を定義した方がメンテナンスも捗ります。

global_variable.gs
//グローバル変数を定義するファイル

これは人によって意見が分かれますが、採用してみたら結構やりやすかったです。笑

最後に

GASは手軽なので、プログラミング初心者にもおすすめだと思います。

また、いろんな人が気軽にアクセスできるからこそメンテナンス性が失われやすいのかなと思いました。なので、スクリプトを書く際は参考にしてみてください。

Discussion