Cloud Code Functions
Menganalisis Kompleksitas Kode Cloud dengan Plato Di Back4App
10 mnt
cara membuat laporan yang menunjukkan kompleksitas kode cloud anda pendahuluan bagian ini akan mengajarkan anda untuk menghasilkan laporan kompleksitas kode dari kode cloud anda menggunakan plato kode cloud harus efisien dari desain karena dipanggil berkali kali, sedikit penurunan kinerja dapat menjadi masalah besar dan berdampak buruk pada lingkungan produksi anda jika anda meluangkan waktu untuk merancang kode cloud anda dengan efisien, anda akan dapat melayani lebih banyak permintaan menggunakan server yang lebih kecil, yang dapat mengarah pada penghematan besar seiring waktu di sisi lain, kode cloud yang dirancang dengan buruk hanya dapat ditingkatkan pada mesin yang lebih besar dan lebih mahal, yang juga memiliki batasan situasi ini dapat dan mungkin akan mengarah pada kebutuhan untuk menulis ulang kode dan pengeluaran lebih banyak seiring waktu silakan luangkan waktu anda untuk menguji, menguji beban, dan terus memeriksa laporan tentang kompleksitas kode prasyarat untuk menyelesaikan tutorial ini, anda akan membutuhkan lingkungan lokal dengan node js terinstal untuk menerapkan pengujian unit anda dapat mengikuti tutorial resmi nodejs untuk berhasil menginstal node js di terminal anda sebuah aplikasi yang dibuat di back4app ikuti tutorial membuat aplikasi baru untuk belajar cara membuat aplikasi di back4app back4app command line yang dikonfigurasi dengan proyek ikuti tutorial menyiapkan cloud code untuk belajar cara menyiapkan cloud code untuk proyek pertama tama, kita perlu membicarakan plato kami biasanya mulai mengembangkan dengan membuat seperangkat fungsi yang lebih kecil yang memecah masalah besar menjadi yang lebih kecil dan lebih mudah ditangani pendekatan ini biasanya baik dan fungsi fungsi kecil awal ini tumbuh seiring waktu, membuat operasi yang lebih kompleks dan menangani lebih banyak data seiring pertumbuhan data dalam aplikasi anda, tugas tugas yang intensif komputasi seperti loop dan panggilan rekursif semakin sering dipanggil, yang cenderung memperlambat aplikasi dalam kasus yang parah, itu bahkan bisa membekukan aplikasi sepenuhnya di sinilah plato https //www npmjs com/package/plato berperan plato https //www npmjs com/package/plato adalah alat visualisasi kode sumber javascript, analisis statis, dan kompleksitas yang menghasilkan laporan yang menunjukkan seberapa kompleks aplikasi anda dan di mana harus melakukan perbaikan untuk mempercepat proses 1 menginstal plato jika anda memiliki nodejs https //nodejs org/en/download/package manager/ dan npm https //www npmjs com/ terinstal di sistem anda, menginstal plato https //www npmjs com/package/plato semudah mengetik jika tidak, silakan instal sebelum melanjutkan 2 menjalankan plato menjalankan plato https //www npmjs com/package/plato setelah instalasi terdiri dari mengetik perintah berikut dari direktori tempat cloud code anda berada opsi berarti r rekursif, artinya akan masuk ke dalam direktori dan subdirektori untuk mencari file d myreportfolder (output) direktori plato akan membuat direktori bernama myreportfolder myreportfolder di mana ia akan menyimpan hasilnya t “laporan saya untuk aplikasi ini” judul plato akan menamai laporan ini laporan saya untuk aplikasi ini laporan saya untuk aplikasi ini ini berguna untuk membuat beberapa laporan seiring waktu dan melacak x json kecualikan file json anda dapat memberi tahu plato untuk mengabaikan jenis file sehingga berjalan lebih cepat js cari apa pun dengan ekstensi js untuk dievaluasi 3 mendapatkan hasil di dalam myreportfolder myreportfolder yang dibuat oleh perintah di atas, anda akan menemukan sebuah index html index html yang berisi laporan buka file itu di browser dan anda akan menemukan sesuatu seperti ini dalam kasus saya, saya hanya memiliki file bernama main js main js , tetapi tergantung pada kode anda, anda bisa memiliki lebih banyak file gulir ke bawah ke bagian files files dan klik nama file yang ingin anda buka (main js dalam kasus saya) ini akan membuka laporan untuk file tersebut maintainability adalah nilai antara 0 dan 100 yang mewakili kemudahan relatif dalam memelihara kode nilai tinggi berarti pemeliharaan yang lebih baik ukuran kesulitan terkait dengan kesulitan program untuk ditulis atau dipahami perkiraan kesalahan adalah bug yang disampaikan oleh halstead adalah perkiraan untuk jumlah kesalahan dalam implementasi bobot fungsi memiliki dua metrik berdasarkan kompleksitas metrik ini menghitung jumlah jalur yang berbeda melalui blok kode nilai yang lebih rendah lebih baik berdasarkan sloc baris kode sumber / baris kode logis sekarang anda dapat menggulir ke bawah dan melihat peringatan serta kemungkinan perbaikan yang disarankan dalam kasus saya, ini menunjukkan bahwa sintaks fungsi panah (=>)' hanya tersedia di es6 (gunakan 'esversion 6') sintaks fungsi panah (=>)' hanya tersedia di es6 (gunakan 'esversion 6') , yang bukan masalah tapi mari kita tambahkan beberapa kode yang sangat tidak efisien ke fungsi itu dan evaluasi ulang 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} dan evaluasi hasilnya seperti yang kita lihat, kompleksitas fungsi ini adalah 4, yang baik semakin tinggi angka yang anda dapatkan, semakin kompleks fungsi tersebut dan semakin anda harus memastikan bahwa itu efisien plato https //www npmjs com/package/plato juga akan memperingatkan anda tentang titik koma yang hilang dan kesalahan javascript potensial lainnya kesimpulan memiliki alat seperti plato https //www npmjs com/package/plato yang memeriksa kompleksitas kode anda dan terus menerus mengerjakan ulang kode cloud agar secepat dan seefisien mungkin dapat mengarah pada penghematan besar seiring waktu anda dan semua pengembang harus menyertakan langkah ini atau sesuatu yang serupa dalam proses pengembangan anda untuk memastikan anda mendapatkan hasil maksimal dari setiap permintaan