【GAS + kotlin】コードを分割してメンテしやすくする

前回、GASをkotlinで開発する方法を書きました

naosim.hatenablog.jp

この記事で「3万行を超えるkotlin.jsをコードに直接コピペする」と書きましたが、さすがにそれでは辛い

幸いGASは同一プロジェクトのスクリプトを簡単に呼べるのでそれを利用してファイル分割してみました
以下、その方法

前回の最終形態

コード.gs (呼び出し元スクリプト)

// おまじない
var ArrayBuffer = Int8Array = Int16Array = Uint16Array = Int32Array = Float32Array = Float64Array = function(){};

// kotlin.jsのコード 3万行超え

// gaskotlin.jsのコード 20行くらい

// 呼び出し
function myFunction() {
  gaskotlin.com.naosim.gaskotlin.run();
}

ファイルを3つに分割する

kotlin.js.gs

function initKotlin() {
  // おまじない
  var ArrayBuffer = Int8Array = Int16Array = Uint16Array = Int32Array = Float32Array = Float64Array = function(){};

  // kotlin.jsのコード 3万行超え



  return kotlin; // 最後にkotlinオブジェクトを返す
}

gaskotlin.js.gs

function initGaskotlin() {
  var kotlin = initKotlin(); // kotlinを読み込む


  // gaskotlin.jsのコード 20行くらい


  return gaskotlin;// 最後にgaskotlinオブジェクトを返す
}

コード.gs (呼び出し元スクリプト)

var gaskotlin = initGaskotlin();
function myFunction() {
  gaskotlin.com.naosim.gaskotlin.run();
}

結果

可読性が上がった

当たり前ですが...
3万行のコードは読みにくいので...

ファイルの保存時間が早くなった

3万行のコードを保存した時は保存だけで結構時間がかかっていましたが、それを外だししたら早くなった
GASは保存時に何してるんだろう...
保存するファイルだけシンタックスエラーのチェックが走るのかな?

まとめ

  • kotlin.js等を別gsファイルに外だしした
  • 保存時間が短くなったりしてよかった