Cloud Code Functions
เพิ่มประสิทธิภาพโค้ดคลาวด์ด้วยการวิเคราะห์ความซับซ้อน
9 นาที
วิธีสร้างรายงานที่แสดงความซับซ้อนของโค้ดคลาวด์ของคุณ บทนำ ส่วนนี้จะสอนให้คุณสร้างรายงานความซับซ้อนของโค้ดของคุณโดยใช้ plato โค้ดคลาวด์ต้องมีประสิทธิภาพตั้งแต่การออกแบบ เนื่องจากมันถูกเรียกใช้งานหลายครั้ง ประสิทธิภาพที่แย่ลงเล็กน้อยอาจกลายเป็นปัญหาใหญ่และส่งผลกระทบต่อสภาพแวดล้อมการผลิตของคุณอย่างรุนแรง หากคุณใช้เวลาในการออกแบบโค้ดคลาวด์ของคุณอย่างมีประสิทธิภาพ คุณจะสามารถให้บริการคำขอได้มากขึ้นโดยใช้เซิร์ฟเวอร์ที่มีขนาดเล็กลง ซึ่งสามารถนำไปสู่การประหยัดที่มากขึ้นในระยะยาว ในทางกลับกัน โค้ดคลาวด์ที่ออกแบบไม่ดีสามารถขยายได้เฉพาะในเครื่องที่ใหญ่ขึ้นและมีราคาแพงกว่า ซึ่งก็มีข้อจำกัดเช่นกัน สถานการณ์นี้อาจนำไปสู่ความจำเป็นในการเขียนโค้ดใหม่และค่าใช้จ่ายที่มากขึ้นในระยะยาว โปรดใช้เวลาของคุณในการทดสอบ โหลดทดสอบ และตรวจสอบรายงานเกี่ยวกับความซับซ้อนของโค้ดอย่างต่อเนื่อง ข้อกำหนดเบื้องต้น ในการทำตามบทเรียนนี้ คุณจะต้อง สภาพแวดล้อมท้องถิ่นที่ติดตั้ง node js เพื่อใช้ในการทดสอบหน่วย คุณสามารถติดตาม บทเรียน nodejs อย่างเป็นทางการ เพื่อทำการติดตั้ง node js ที่เทอร์มินัลของคุณอย่างสำเร็จ แอปที่สร้างขึ้นที่ back4app ติดตาม บทเรียนการสร้างแอปใหม่ เพื่อเรียนรู้วิธีการสร้างแอปที่ back4app back4app command line ที่กำหนดค่าไว้กับโปรเจกต์ ติดตาม บทเรียนการตั้งค่า cloud code เพื่อเรียนรู้วิธีการตั้งค่าโค้ดคลาวด์สำหรับโปรเจกต์ ก่อนอื่นเราต้องพูดถึง plato เรามักเริ่มพัฒนาจากการสร้างชุดฟังก์ชันที่เล็กกว่าซึ่งแบ่งปัญหาใหญ่ให้เป็นปัญหาที่เล็กลงและจัดการได้ง่ายขึ้น วิธีการนี้มักจะใช้ได้ดีและฟังก์ชันเล็กๆ เหล่านี้จะเติบโตขึ้นตามเวลา ทำให้สามารถดำเนินการที่ซับซ้อนมากขึ้นและจัดการกับข้อมูลมากขึ้น เมื่อข้อมูลเติบโตในแอปพลิเคชันของคุณ งานที่ใช้การคำนวณมาก เช่น ลูปและการเรียกซ้ำ จะถูกเรียกใช้มากขึ้น ซึ่งมักจะทำให้แอปพลิเคชันช้าลง ในกรณีที่รุนแรงอาจทำให้แอปพลิเคชันหยุดทำงานโดยสิ้นเชิง นี่คือจุดที่ plato https //www npmjs com/package/plato เข้ามา plato https //www npmjs com/package/plato เป็นเครื่องมือในการแสดงภาพโค้ดต้นฉบับ javascript การวิเคราะห์สถิติ และความซับซ้อนที่สร้างรายงานแสดงให้เห็นว่าการใช้งานของคุณมีความซับซ้อนมากขึ้นเพียงใดและที่ไหนที่ควรแก้ไขเพื่อเพิ่มความเร็วในการทำงาน 1 การติดตั้ง plato หากคุณมี nodejs https //nodejs org/en/download/package manager/ และ npm https //www npmjs com/ ติดตั้งในระบบของคุณ การติดตั้ง plato https //www npmjs com/package/plato ง่ายเพียงแค่พิมพ์ หากคุณยังไม่ได้ติดตั้ง กรุณาติดตั้งก่อนดำเนินการต่อ 2 การรัน plato การรัน plato https //www npmjs com/package/plato หลังจากการติดตั้งประกอบด้วยการพิมพ์คำสั่งต่อไปนี้จากไดเรกทอรีที่โค้ด cloud ของคุณอยู่ ตัวเลือกหมายถึง r แบบ recursive หมายความว่ามันจะเข้าไปในไดเรกทอรีและไดเรกทอรีย่อยเพื่อค้นหาไฟล์ d myreportfolder (output) ไดเรกทอรี plato จะสร้างไดเรกทอรีชื่อ myreportfolder myreportfolder ซึ่งจะเก็บผลลัพธ์ของมัน t “my report for this app” ชื่อ plato จะตั้งชื่อรายงานนี้ว่า my report for this app my report for this app นี่มีประโยชน์ในการสร้างรายงานหลายฉบับในระยะเวลาและติดตาม x json ยกเว้นไฟล์ json คุณสามารถบอก plato ให้ละเว้นประเภทไฟล์เพื่อให้มันทำงานได้เร็วขึ้น js มองหาสิ่งใดก็ตามที่มีนามสกุล js เพื่อให้ถูกประเมิน 3 การรับผลลัพธ์ ใน myreportfolder myreportfolder ที่สร้างโดยคำสั่งข้างต้น คุณจะพบ index html index html ที่มีรายงานอยู่ เปิดไฟล์นั้นในเบราว์เซอร์และคุณจะพบสิ่งที่คล้ายกับนี้ ในกรณีของฉัน ฉันมีไฟล์ชื่อ main js main js , แต่ขึ้นอยู่กับโค้ดของคุณ คุณอาจมีไฟล์มากกว่านี้ เลื่อนลงไปที่ files files ส่วนและคลิกที่ชื่อไฟล์ที่คุณต้องการเปิด (main js ในกรณีของฉัน) นี่จะเปิดรายงานสำหรับไฟล์นั้น ความสามารถในการบำรุงรักษาเป็นค่าระหว่าง 0 ถึง 100 ที่แสดงถึงความสะดวกในการบำรุงรักษาโค้ด ค่าที่สูงหมายถึงความสามารถในการบำรุงรักษาที่ดีกว่า การวัดความยากเกี่ยวข้องกับความยากของโปรแกรมในการเขียนหรือเข้าใจ ข้อผิดพลาดที่ประมาณการคือข้อบกพร่องที่ halstead ส่งมอบเป็นการประมาณจำนวนข้อผิดพลาดในการดำเนินการ น้ำหนักฟังก์ชันมีสองเมตริก ตามความซับซ้อน เมตริกนี้นับจำนวนเส้นทางที่แตกต่างกันผ่านบล็อกของโค้ด ค่าที่ต่ำกว่าจะดีกว่า ตาม sloc บรรทัดของโค้ดต้นฉบับ / บรรทัดของโค้ดเชิงตรรกะ ตอนนี้คุณสามารถเลื่อนลงและดูการแจ้งเตือนและการแก้ไขที่เป็นไปได้ที่แนะนำ ในกรณีของฉัน มันบอกว่า ไวยากรณ์ฟังก์ชันลูกศร (=>) มีให้ใช้งานเฉพาะใน es6 (ใช้ 'esversion 6') ไวยากรณ์ฟังก์ชันลูกศร (=>) มีให้ใช้งานเฉพาะใน es6 (ใช้ 'esversion 6') , ซึ่งไม่ใช่ปัญหา แต่ให้เราลองเพิ่มโค้ดที่ไม่มีประสิทธิภาพมากนักลงในฟังก์ชันนั้นและประเมินใหม่ 1function getsquarerootof(numberone, numbertwo, numberthree){ 2 var finalresult; 3 4 var i = 0; 5 var j = 0; 6 var k = 0; 7 8 for (i = 0; i < 100; i ++){ 9 for (j = 0; j < 100; i ++){ 10 for (k = 0; k < 100; k++){ 11 var resultone = getsquarerootof(numberone); 12 var resulttwo = getsquarerootof(numbertwo); 13 var resultthree = getsquarerootof(numberthree); 14 finalresult = resultone + resulttwo + resultthree; 15 } 16 } 17 } 18} และประเมินผลลัพธ์ ตามที่เราเห็น ความซับซ้อนของฟังก์ชันนี้คือ 4 ซึ่งถือว่าโอเค ยิ่งตัวเลขสูงขึ้น ฟังก์ชันก็จะซับซ้อนมากขึ้น และคุณควรมั่นใจว่ามันมีประสิทธิภาพมากที่สุด plato https //www npmjs com/package/plato จะเตือนคุณเกี่ยวกับการขาดเซมิโคลอนและข้อผิดพลาดที่อาจเกิดขึ้นใน javascript อื่น ๆ บทสรุป การมีเครื่องมือเช่น plato https //www npmjs com/package/plato ที่ตรวจสอบความซับซ้อนของโค้ดของคุณและปรับปรุงโค้ดคลาวด์อย่างต่อเนื่องให้เร็วที่สุดและมีประสิทธิภาพที่สุดสามารถนำไปสู่การประหยัดที่มากขึ้นในระยะยาว คุณและนักพัฒนาทุกคนควรรวมขั้นตอนนี้หรือสิ่งที่คล้ายกันในกระบวนการพัฒนาของคุณเพื่อให้แน่ใจว่าคุณได้รับผลตอบแทนที่ดีที่สุดจากการให้บริการคำขอ