Google Apps Script:
Organizacja kodu w funkcje
Jak to zrobić:
W Google Apps Script, który opiera się na JavaScript, definiujesz funkcje, używając słowa kluczowego function
, po którym następuje unikalna nazwa funkcji, nawiasy ()
mogące zawierać parametry i nawiasy klamrowe {}
, które zawierają blok kodu funkcji. Oto podstawowy przykład:
function greetUser() {
var user = Session.getActiveUser().getEmail();
Logger.log('Cześć, ' + user + '!');
}
greetUser();
Przykładowy wynik:
Cześć, [email protected]!
Teraz rozważmy bardziej praktyczny przykład związany z Google Sheets, gdzie funkcjonalność dzielimy na dwie funkcje: jedną do konfiguracji arkusza i drugą do wypełniania go danymi.
function setupSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.setName('Dane Sprzedaży');
sheet.appendRow(['Produkt', 'Ilość', 'Cena']);
}
function populateSheet(data) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dane Sprzedaży');
data.forEach(function(row) {
sheet.appendRow(row);
});
}
// Inicjalizacja tablicy danych
var salesData = [
['Widgety', 15, 2.5],
['Gadżety', 8, 3.75]
];
// Uruchomienie funkcji
setupSheet();
populateSheet(salesData);
W tym przykładzie setupSheet
przygotowuje arkusz, a populateSheet
zapełnia arkusz tablicą danych sprzedaży. Oddzielenie tych kwestii sprawia, że kod jest czystszy i bardziej elastyczny pod kątem zmian.
Głębsze zanurzenie
Koncept dzielenia kodu na funkcje nie jest nowy ani unikatowy dla Google Apps Script; jest to fundamentalna praktyka programistyczna, popierana w prawie wszystkich językach programowania. Historycznie, funkcje ewoluowały z matematycznego konceptu mapowania wejść na wyjścia, co stało się kamieniem węgielnym programowania strukturalnego. To podejście promuje modularność i ponowne wykorzystanie kodu, oferując jasne ścieżki do testowania poszczególnych części skryptu.
Google Apps Script, opierając się na JavaScript, znacząco korzysta z funkcji pierwszoklasowych JavaScriptu, pozwalając na przekazywanie funkcji jako argumentów, zwracanie ich z innych funkcji i przypisywanie do zmiennych. Ta funkcja otwiera zaawansowane wzorce takie jak wywołania zwrotne i programowanie funkcyjne, chociaż te wzorce mogą wprowadzać złożoność, która może być niepotrzebna dla prostych zadań automatyzacji w Google Apps Script.
Dla większych projektów lub bardziej skomplikowanych aplikacji, deweloperzy mogą badać nowsze funkcje JavaScript, takie jak funkcje strzałkowe, async/await dla operacji asynchronicznych, a nawet TypeScript dla statycznego typowania. TypeScript, w szczególności, może być kompilowany do działania jako Google Apps Script, dostarczając deweloperom drogę do poszukiwania bardziej rygorystycznych sprawdzeń typów i zaawansowanych funkcji zorientowanych obiektowo.
Jednakże, dla większości potrzeb skryptowych w suite Google Apps, trzymanie się prostych, dobrze zorganizowanych funkcji, jak pokazano, zapewnia solidne podstawy. To zawsze jest kwestia balansu między wykorzystywaniem zaawansowanych funkcji dla efektywności a utrzymaniem prostoty dla łatwości utrzymania i czytelności.