Mẹo tối ưu hoá function trong Google Apps Script

Google Apps Script là một công cụ mạnh mẽ cho việc phát triển ứng dụng và kịch bản trực tuyến. Đối với những người làm việc chủ yếu với Google Workspace, việc tối ưu hóa function trong Apps Script không chỉ giúp tăng hiệu suất mà còn làm giảm thời gian thực thi và tối ưu hóa tài nguyên. Dưới đây là một số mẹo giúp bạn đạt được điều này.

1. Tránh Sử Dụng Hàm Đặc Biệt Trong Vòng Lặp

Khi bạn đang làm việc với vòng lặp lớn, hạn chế việc sử dụng các hàm đặc biệt bên trong vòng lặp, như getRange() hoặc getValues(). Thay vào đó, hãy thực hiện những thao tác này trước khi bắt đầu vòng lặp và lưu trữ kết quả vào một biến để sử dụng lại. Điều này giúp giảm gọi API và tăng tốc độ xử lý.

// Không tối ưu
for (var i = 0; i < data.length; i++) {
  var value = sheet.getRange(i + 1, 1).getValue();
  // Thực hiện thao tác với giá trị
}

// Tối ưu hóa
var values = sheet.getRange(1, 1, data.length, 1).getValues();
for (var i = 0; i < values.length; i++) {
  var value = values[i][0];
  // Thực hiện thao tác với giá trị
}

2. Sử Dụng setValues() Thay vì setValue() Khi Ghi Dữ Liệu Lớn

Khi bạn cần cập nhật một loạt các ô dữ liệu, sử dụng setValues() thay vì setValue(). Việc này giúp giảm số lần gọi API và tăng tốc độ thực thi.

// Không tối ưu
for (var i = 0; i < data.length; i++) {
  sheet.getRange(i + 1, 1).setValue(data[i]);
}

// Tối ưu hóa
var range = sheet.getRange(1, 1, data.length, 1);
range.setValues(data.map(function(row) { return [row]; }));
function trong Google Apps Script

3. Sử Dụng Các Hàm Nâng Cao Trong Apps Script

Apps Script cung cấp nhiều hàm tích hợp giúp tối ưu hóa mã nguồn của bạn. Sử dụng các hàm như map(), filter(), và reduce() để thay thế vòng lặp và giảm bớt đoạn mã.

// Không tối ưu
var sum = 0;
for (var i = 0; i < data.length; i++) {
  sum += data[i];
}

// Tối ưu hóa
var sum = data.reduce(function(total, value) {
  return total + value;
}, 0);

4. Giảm Số Lần Gọi API Khi Làm Việc với Dữ Liệu Từ Bảng

Khi làm việc với dữ liệu từ bảng, hãy giảm số lần gọi API bằng cách sử dụng getValues() một lần cho toàn bảng thay vì gọi từng ô một lần.

// Không tối ưu
for (var i = 1; i <= numRows; i++) {
  var value = sheet.getRange(i, 1).getValue();
  // Thực hiện thao tác với giá trị
}

// Tối ưu hóa
var values = sheet.getRange(1, 1, numRows, 1).getValues();
for (var i = 0; i < values.length; i++) {
  var value = values[i][0];
  // Thực hiện thao tác với giá trị
}

Kết Luận

Tối ưu hóa hàm trong Google Apps Script không chỉ giúp tăng hiệu suất mà còn cải thiện trải nghiệm phát triển của bạn. Sử dụng những mẹo trên để viết mã nguồn sạch sẽ, hiệu quả và thân thiện với người đọc cũng như với máy chủ tìm kiếm.

Dịch vụ lập trình ứng dụngProgramming Services

🎯 Lập trình API, Python, Node JS, Telegram Bot, Power Automate, ứng dụng Power Apps và Apps Script

🎯 Programming API, Python, Node JS, Telegram Bot, Automate Workflow, Power Apps and Apps Script for Google Products.

📒 Nhận dạy Lập trình Apps Script từ cơ bản đến nâng cao khu vực Tân Bình – TP.HCM

📒 Teaching Apps Script from Basic to Advanced around Tan Binh District, HCMC

📞 +84 78 600 5534 (Zalo, WhatsApp, Telegram)

🌏 appscript.online

Viết một bình luận