見出し画像

(自分用メモ)【GAS】設計全般についての学び2

はじめに


前回までに、今度「お母さん」になられるコーチにプレゼントするLINE Botを作ってみたことペアプロ前から学びをいただいたこと、について書きました。

こちらはその続きで、設計要素に関してペアプロで学んだことを自分用にメモしています。

学び1:働きかける対象ごとに切り分ける

今回のペアプロにあたって一番気になっていたのは、

結果として同じ処理がなされるコードだとしても、どのように切り分け、もしくは結び付けて書くのがよいのか?

ということでした。

良いコードの観点といっても、「書いていている最中にバグが見つけやすい」「他人が読んで理解するまでの時間が短くて済む」「長い目で見ると繰り返しが省けて省エネになる」「修正しやすい」など、色々あるはずですよね。それらについて、ケースに応じてどう軽重をつけ、実際のコードに反映すればいいのでしょう?

K先生は私の悩みを丁寧に聴き、次にアプリの具体的な使われ方を質問してくださり(要件定義)、その後、一例として以下の方針を教えてくださいました。

  • まず、人間がすべての作業をした場合のフローを書き出す

  • 次に、「メール受信係」「スプレッドシート係」「LINE係」のようにコードを分け、係の間でメモを渡すイメージで連携処理をしていく(メモはできるだけ少なく分かりやすく)

なるほど!

他の方のペアプロで、素晴らしいシートクラスなどを拝見していたので、K先生がその分かりやすい例え話の先に何をイメージされているのか、分かるような気はしました。今回は時間も限られ、またこちらが知識不足でしたので、今できる範囲で、使いまわせるコードを切り分けたり、修正していただくことになったのですが、基本的な指針が大変勉強になりました!

学び2:管理者が交代した場合に耐える仕様にしておく

今回作成中のLINE Botは、今は私が管理しているのですが、いずれはランニングのコーチにプレゼントし、管理いただくことを想定しています。

その後、マスタシートに記載してLINEから配信すべきyoutube動画が増えた時にどう対応するかは、まだ(コーチにご相談できていないため)仕様が固まっていません。ペアプロでもこの点をご心配いただき、入力シートとそれ以外を明確に分けるか、シートを保護するなどのお話をいただきました。

コーチに作業いただく場合は、フロー全体を考え直す必要があります。外でのお仕事が多いのでgoogleフォームから入力いただけるようにするなども考慮に入れて、ご本人と相談しながら、手間の少ない安全な方法を考えていければと思っています。


この記事が気に入ったらサポートをしてみませんか?