Cloud Code Functions
เพิ่มประสิทธิภาพโค้ดคลาวด์ด้วยการวิเคราะห์ความซับซ้อน
9 นาที
วิธีสร้างรายงานที่แสดงความซับซ้อนของโค้ดคลาวด์ของคุณ บทนำ ส่วนนี้จะสอนให้คุณสร้างรายงานความซับซ้อนของโค้ดของคุณโดยใช้ https //www npmjs com/package/plato โค้ดคลาวด์ต้องมีประสิทธิภาพตั้งแต่การออกแบบ เนื่องจากมันถูกเรียกใช้งานหลายครั้ง ประสิทธิภาพที่แย่ลงเล็กน้อยอาจกลายเป็นปัญหาใหญ่และส่งผลกระทบต่อสภาพแวดล้อมการผลิตของคุณอย่างรุนแรง หากคุณใช้เวลาในการออกแบบโค้ดคลาวด์ของคุณอย่างมีประสิทธิภาพ คุณจะสามารถให้บริการคำขอได้มากขึ้นโดยใช้เซิร์ฟเวอร์ที่มีขนาดเล็กลง ซึ่งสามารถนำไปสู่การประหยัดที่มากขึ้นในระยะยาว ในทางกลับกัน โค้ดคลาวด์ที่ออกแบบไม่ดีสามารถขยายได้เฉพาะในเครื่องที่ใหญ่ขึ้นและมีราคาแพงกว่า ซึ่งก็มีข้อจำกัดเช่นกัน สถานการณ์นี้อาจนำไปสู่ความจำเป็นในการเขียนโค้ดใหม่และค่าใช้จ่ายที่มากขึ้นในระยะยาว โปรดใช้เวลาของคุณในการทดสอบ โหลดทดสอบ และตรวจสอบรายงานเกี่ยวกับความซับซ้อนของโค้ดอย่างต่อเนื่อง ข้อกำหนดเบื้องต้น ในการทำตามบทเรียนนี้ คุณจะต้อง สภาพแวดล้อมท้องถิ่นที่ติดตั้ง node js เพื่อใช้ในการทดสอบหน่วย คุณสามารถติดตาม https //nodejs org/en/download/package manager/ เพื่อทำการติดตั้ง node js ที่เทอร์มินัลของคุณอย่างสำเร็จ แอปที่สร้างขึ้นที่ back4app ติดตาม https //www back4app com/docs/get started/new parse app เพื่อเรียนรู้วิธีการสร้างแอปที่ back4app back4app command line ที่กำหนดค่าไว้กับโปรเจกต์ ติดตาม https //www back4app com/docs/local development/parse cli เพื่อเรียนรู้วิธีการตั้งค่าโค้ดคลาวด์สำหรับโปรเจกต์ ก่อนอื่นเราต้องพูดถึง plato เรามักเริ่มพัฒนาจากการสร้างชุดฟังก์ชันที่เล็กกว่าซึ่งแบ่งปัญหาใหญ่ให้เป็นปัญหาที่เล็กลงและจัดการได้ง่ายขึ้น วิธีการนี้มักจะใช้ได้ดีและฟังก์ชันเล็กๆ เหล่านี้จะเติบโตขึ้นตามเวลา ทำให้สามารถดำเนินการที่ซับซ้อนมากขึ้นและจัดการกับข้อมูลมากขึ้น เมื่อข้อมูลเติบโตในแอปพลิเคชันของคุณ งานที่ใช้การคำนวณมาก เช่น ลูปและการเรียกซ้ำ จะถูกเรียกใช้มากขึ้น ซึ่งมักจะทำให้แอปพลิเคชันช้าลง ในกรณีที่รุนแรงอาจทำให้แอปพลิเคชันหยุดทำงานโดยสิ้นเชิง นี่คือจุดที่ https //www npmjs com/package/plato เข้ามา https //www npmjs com/package/plato เป็นเครื่องมือในการแสดงภาพโค้ดต้นฉบับ javascript การวิเคราะห์สถิติ และความซับซ้อนที่สร้างรายงานแสดงให้เห็นว่าการใช้งานของคุณมีความซับซ้อนมากขึ้นเพียงใดและที่ไหนที่ควรแก้ไขเพื่อเพิ่มความเร็วในการทำงาน 1 การติดตั้ง plato หากคุณมี https //nodejs org/en/download/package manager/ และ https //www npmjs com/ ติดตั้งในระบบของคุณ การติดตั้ง https //www npmjs com/package/plato ง่ายเพียงแค่พิมพ์ 1 npm install g plato หากคุณยังไม่ได้ติดตั้ง กรุณาติดตั้งก่อนดำเนินการต่อ 2 การรัน plato การรัน https //www npmjs com/package/plato หลังจากการติดตั้งประกอบด้วยการพิมพ์คำสั่งต่อไปนี้จากไดเรกทอรีที่โค้ด cloud ของคุณอยู่ 1 plato r d myreportfolder t "my report for this app" x json js ตัวเลือกหมายถึง 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 ซึ่งถือว่าโอเค ยิ่งตัวเลขสูงขึ้น ฟังก์ชันก็จะซับซ้อนมากขึ้น และคุณควรมั่นใจว่ามันมีประสิทธิภาพมากที่สุด https //www npmjs com/package/plato จะเตือนคุณเกี่ยวกับการขาดเซมิโคลอนและข้อผิดพลาดที่อาจเกิดขึ้นใน javascript อื่น ๆ บทสรุป การมีเครื่องมือเช่น https //www npmjs com/package/plato ที่ตรวจสอบความซับซ้อนของโค้ดของคุณและปรับปรุงโค้ดคลาวด์อย่างต่อเนื่องให้เร็วที่สุดและมีประสิทธิภาพที่สุดสามารถนำไปสู่การประหยัดที่มากขึ้นในระยะยาว คุณและนักพัฒนาทุกคนควรรวมขั้นตอนนี้หรือสิ่งที่คล้ายกันในกระบวนการพัฒนาของคุณเพื่อให้แน่ใจว่าคุณได้รับผลตอบแทนที่ดีที่สุดจากการให้บริการคำขอ