Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

527
Views
Mejores prácticas para declarar variables de Google Apps Script

Actualmente estoy desarrollando una Web App en Google Apps Script. Soy lo suficientemente competente para hacer lo que necesito, pero es la primera vez que desarrollo algo en cualquier tipo de escala, y estoy buscando orientación sobre las mejores prácticas para el rendimiento (si es que marca alguna diferencia) .

Tengo una serie de variables (cargando datos de varias hojas) a las que será necesario acceder varias veces, mediante múltiples funciones. En el pasado, siempre los he declarado como constantes fuera de cualquier función, por lo que puedo usar cualquier función para acceder a ellos. Por ejemplo:

 const SS = SpreadsheetApp.getSpreadsheetById("spreadsheetId"); const SHEET1 = SS.getSheetByName("sheetName"); const DATA1 = SHEET.getRange(blah, blah, blah, blah).getValues(); const SHEET2 = SS.getSheetByName("sheetName"); const DATA2 = SHEET.getRange(blah, blah, blah, blah).getValues();

Tanto la hoja como los datos serán accedidos varias veces por varias funciones. Sin embargo, hay 6 o 7 hojas y conjuntos de datos a los que se accederá mediante varias funciones. Accederán a múltiples conjuntos de datos (o obtendrán rango directamente de la hoja si necesitan un fragmento), pero ninguna función accederá a todos ellos a la vez. ¿Siguen cargadas esas variables, incluso si la función no las requiere?

Por ejemplo, tengo una función que se ejecuta en FormSubmit. Quiero que se ejecute lo más rápido posible. Sólo accede a una de las 7 hojas. ¿Eso será inicializar todas las variables globales cuando se ejecuta, aunque no sean necesarias?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Creo que he logrado responder a mi propia pregunta. Usando el depurador en el IDE de GAS. Parece que una de mis funciones que solo usa un fragmento de los datos está cargando todas mis variables.

about 4 years ago · Juan Pablo Isaza Report

0

de la pregunta

¿Siguen cargadas esas variables, incluso si la función no las requiere?

Eso depende. Si las constantes declaradas "fuera de cualquier función" (esto se llama alcance global) y las funciones pertenecen al mismo proyecto, entonces la respuesta es sí, pero si las constantes se declaran en una biblioteca, no estarán disponibles para las funciones del mismo. proyecto principal

Por ejemplo, tengo una función que se ejecuta en FormSubmit. Quiero que se ejecute lo más rápido posible. Sólo accede a una de las 7 hojas. ¿Eso será inicializar todas las variables globales cuando se ejecuta, aunque no sean necesarias?

Sí.


Dado que las llamadas a los servicios de Google Apps Script son "costosas" en términos de tiempo de ejecución, para que sus scripts sean eficientes y teniendo en cuenta que los activadores instalables tienen un límite diario, evite realizar llamadas que no se usan en todas las funciones en el ámbito global.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!