Google Apps Script:
การปรับโครงสร้างโค้ด
วิธีการ:
ใน Google Apps Script สถานการณ์ทั่วไปที่ได้รับประโยชน์จากการปรับโครงสร้างคือการทำให้สคริปต์ที่มีขนาดใหญ่และยุ่งยากเข้ากับ Google Sheets หรือ Docs ง่ายขึ้น ในตอนแรกสคริปต์อาจถูกเขียนในรูปแบบที่รวดเร็วและง่ายเพื่อให้ได้ผลลัพธ์อย่างรวดเร็ว ตามเวลา ตามที่สคริปต์เติบโตขึ้นก็จะกลายเป็นอะไรที่จัดการยากมากขึ้น ลองพิจารณาตัวอย่างของการปรับโครงสร้างเพื่อความชัดเจนและประสิทธิภาพที่ดีขึ้น
สคริปต์เดิม:
function logSheetNames() {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i = 0; i < sheets.length; i++) {
Logger.log(sheets[i].getName());
}
}
ฟังก์ชันนี้บันทึกชื่อของแผ่นงานแต่ละแผ่นใน Google Spreadsheet ในขณะที่มันทำงานได้ดี แต่มันใช้ practice ของ JavaScript เก่าและขาดความชัดเจน
สคริปต์ที่ถูกปรับโครงสร้าง:
function logSheetNames() {
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
sheets.forEach(sheet => Logger.log(sheet.getName()));
}
ในเวอร์ชันที่ถูกปรับโครงสร้าง เราได้เปลี่ยนมาใช้ const
สำหรับตัวแปรที่ไม่มีการเปลี่ยนแปลง เพื่อแสดงความตั้งใจของเราได้ชัดเจนขึ้น เรายังใช้วิธี forEach
ซึ่งเป็นวิธีที่ทันสมัยและประหยัดต่อการวนซ้ำผ่านอาร์เรย์ ทำให้การอ่านง่ายขึ้น
ผลลัพธ์ตัวอย่าง (สำหรับทั้งสองสคริปต์):
ผลลัพธ์ใน Logger จะมีลักษณะประมาณนี้ ซึ่งสมมุติว่าเอกสาร Google Sheets ของคุณมีสองแผ่นงานชื่อ “Expenses” และ “Revenue”:
[20-04-2023 10:00:00: INFO] Expenses
[20-04-2023 10:00:01: INFO] Revenue
สคริปต์ที่ปรับปรุงแล้วบรรลุผลลัพธ์เดียวกันแต่เรียบง่ายและง่ายในการเข้าใจด้วยการมองเพียงครั้งเดียว
ลงลึก
การปรับโครงสร้างใน Google Apps Script บางส่วนได้รับหลักการมาจากการปฏิบัติการวิศวกรรมซอฟต์แวร์โดยรวม การนี้ได้รับการจดจำและจัดโครงสร้างมากขึ้นในฐานะคอนเซปต์ในช่วงปลายทศวรรษที่ 1990 เด่นชัดเป็นพิเศษเนื่องจากหนังสือ “Refactoring: Improving the Design of Existing Code” (1999) ของ Martin Fowler ซึ่งให้คำแนะนำรอบคอบเกี่ยวกับเทคนิคการปรับโครงสร้างต่างๆ ในขณะที่รายละเอียดของการปรับโครงสร้างอาจแตกต่างกันไปตามภาษาโปรแกรมเนื่องจากความแตกต่างทางไวยากรณ์และการทำงาน แต่เป้าหมายหลักยังคงเหมือนเดิม: การปรับปรุงโค้ดโดยไม่เปลี่ยนพฤติกรรมภายนอก
ในบริบทของ Google Apps Script สิ่งสำคัญที่ต้องพิจารณาในระหว่างการปรับโครงสร้างคือข้อจำกัดและโควต้าบริการที่ Google กำหนด เนื่องจากโค้ดที่ได้รับการปรับปรุงอย่างมีประสิทธิภาพไม่เพียงแต่อ่านง่ายขึ้น แต่ยังทำงานได้เร็วและเชื่อถือได้มากขึ้นภายในข้อจำกัดเหล่านี้ ตัวอย่างเช่น การดำเนินการเป็นกลุ่ม (Range.setValues()
แทนที่จะตั้งค่าหนึ่งเซลล์ในครั้งหนึ่ง) สามารถลดเวลาการเรียกใช้และการบริโภคโควต้าได้อย่างมาก
อย่างไรก็ตาม สำหรับโปรเจคที่ซับซ้อนบางอย่าง Google Apps Script อาจไม่เพียงพอเนื่องจากข้อจำกัดเหล่านี้ ในกรณีเหล่านั้น การมองหาทางเลือกเช่น Google Cloud Functions หรือ AppSheet ซึ่งเป็นน้องใหม่ของ Apps Script อาจเสนอการขยายขนาดและฟังก์ชันการทำงานที่ดีขึ้น
ในที่สุด ในขณะที่การปรับโครงสร้างเป็นทักษะสำคัญในการบำรุงรักษาและปรับปรุงโปรเจกต์ Google Apps Script การเข้าใจข้อจำกัดของสภาพแวดล้อมและพิจารณาทางเลือกอื่นๆ ก็เป็นสิ่งสำคัญเช่นกันในการส่งมอบโค้ดที่มีประสิทธิภาพ ทนทาน และสามารถรักษาได้