Google Apps Script:
Att organisera kod i funktioner

Hur:

I Google Apps Script, som bygger på JavaScript, definierar du funktioner med nyckelordet function, följt av ett unikt funktionsnamn, parenteser () som kan innehålla parametrar, och måsvingar {} som inkapslar funktionens kodblock. Här är ett grundläggande exempel:

function greetUser() {
  var user = Session.getActiveUser().getEmail();
  Logger.log('Hej, ' + user + '!');
}

greetUser();

Exempelutdata:

Nu ska vi överväga ett mer praktiskt exempel relaterat till Google Sheets där vi separerar funktionaliteten till två funktioner: en för att förbereda kalkylbladet och en annan för att fylla det med data.

function setupSheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  sheet.setName('Försäljningsdata');
  sheet.appendRow(['Artikel', 'Antal', 'Pris']);
}

function populateSheet(data) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Försäljningsdata');
  data.forEach(function(row) {
    sheet.appendRow(row);
  });
}

// Initialisera dataarray
var salesData = [
  ['Widgets', 15, 2.5],
  ['Gadgets', 8, 3.75]
];

// Kör funktionerna
setupSheet();
populateSheet(salesData);

I detta exempel förbereder setupSheet kalkylbladet, och populateSheet använder en array med försäljningsdata för att fylla i kalkylbladet. Att separera dessa bekymmer gör koden renare och mer anpassningsbar för förändringar.

Fördjupning

Konceptet med att dela upp kod i funktioner är varken nytt eller unikt för Google Apps Script; det är en grundläggande programmeringspraxis som förespråkas i nästan alla programmeringsspråk. Historiskt har funktioner utvecklats från det matematiska konceptet med att mappa inmatningar till utmatningar, vilket har blivit en hörnsten i strukturerad programmering. Denna tillvägagångssätt främjar modularitet och kodåteranvändning, och erbjuder tydliga vägar för att testa enskilda delar av skriptet.

Google Apps Script, som är baserat på JavaScript, drar stor nytta av JavaScripts förstaklassiga funktioner, vilket möjliggör att funktioner kan skickas som argument, returneras från andra funktioner och tilldelas till variabler. Denna funktion öppnar upp för avancerade mönster som callbacks och funktionell programmering, även om dessa mönster kan introducera komplexitet som kanske är onödig för enkla automatiseringsuppgifter i Google Apps Script.

För större projekt eller mer komplexa applikationer kan utvecklare utforska användningen av JavaScripts nyare funktioner som pilfunktioner, async/await för asynkrona operationer och till och med TypeScript för statisk typning. TypeScript kan i synnerhet kompileras för att köras som Google Apps Script, vilket erbjuder en väg för utvecklare som söker efter mer robust typkontroll och avancerade objektorienterade funktioner.

Dock, för de flesta skriptbehov inom Google Apps-sviten, är att hålla sig till enkla, välorganiserade funktioner som demonstreras en solid grund. Det är alltid en balansakt mellan att utnyttja avancerade funktioner för effektivitet och att upprätthålla enkelhet för underhåll och läsbarhet.