Dengan peningkatan kinerja browser dan adopsi stabil dari antarmuka pemrograman HTML5 baru, volume JavaScript pada halaman web secara bertahap meningkat. Namun, program yang ditulis dengan buruk memiliki potensi untuk memecahkan seluruh situs web, menggagalkan pengguna dan mengusir pelanggan potensial.
Pengembang harus menggunakan semua alat dan teknik yang dapat mereka gunakan untuk meningkatkan kualitas kode mereka dan yakin bahwa setiap eksekusi dapat diprediksi. Ini adalah topik yang jauh di dalam hati saya dan saya telah bekerja selama bertahun -tahun untuk menemukan satu set langkah yang harus diikuti selama proses pengembangan untuk memastikan bahwa hanya kode kualitas tertinggi yang dapat dipublikasikan.
Cukup ikuti tujuh langkah ini untuk sangat meningkatkan kualitas proyek JavaScript Anda. Dengan alur kerja ini, kesalahan akan dikurangi dan banyak optimasi pemrosesan akan dibuat, memberi pengguna pengalaman menjelajah yang menyenangkan.
01. Kode
Pertama, panggil mode ketat ecmascript5 dan deklarasi "mode ketat" dalam fungsi Anda, dan gunakan mode desain modul ini. Dalam penutupan fungsi yang dieksekusi sendiri, penggunaan variabel global harus diminimalkan melalui modul kode independen kotak pasir, dan melalui segala dependensi eksternal untuk menjaga modul variabel global tetap jelas dan ringkas. Hanya gunakan perpustakaan dan kerangka kerja pihak ketiga yang mapan, teruji dengan baik, dan terperoleh dengan baik, dan jaga fungsi Anda pada nilai kecil, memisahkan logika bisnis atau data apa pun dari operasi modul Anda dan kode lapisan tampilan lainnya.
Larger projects with multiple developers should follow a set of established coding principles, such as Google's JavaScript style guide, and require stronger code management rules, including strict dependency management through a library such as RequireJS, using package management using asynchronous module definitions (AMD), using package management using Bower or Jam (client library management tool) to refer to specific versions of your dependency files, and adopting structural design patterns such as observer mode to facilitate loosely Komunikasi digabungkan antara modul kode yang berbeda. Ini juga merupakan ide yang bijaksana: Gunakan sistem sistem repositori kode, seperti git atau subversi, untuk mendapatkan kode Anda dicadangkan di cloud melalui beberapa layanan seperti kode sumber atau kacang ajaib, menyediakan kemampuan untuk memulihkan ke versi sebelumnya, dan membuat cabang kode untuk proyek yang lebih maju untuk melakukan fungsi yang berbeda, menggabungkannya sebelum menyelesaikannya.
02. File
Gunakan format blok anotasi terstruktur seperti Yuidoc atau JSDOC ke fungsionalitas file, sehingga setiap pengembang dapat memahami tujuannya tanpa mempelajari kodenya, yang dapat mengurangi kesalahpahaman. Menggunakan markdown sintaks dapat memiliki komentar dan penjelasan yang lebih kaya, panjang. Gunakan alat baris perintah terkait untuk secara otomatis menghasilkan dokumen di situs web: berdasarkan pendapat struktural ini, konsisten dengan modifikasi yang dibuat dalam kode Anda.
03. Analisis Lacak
Jalankan alat analisis kode statis pada kode Anda secara teratur, seperti JShint atau JSlint. Pemeriksaan ini pada kelemahan pengkodean yang diketahui dan kesalahan potensial, seperti lupa menggunakan pola yang ketat atau merujuk variabel yang tidak diumumkan, dan braket atau titik koma yang hilang. Perbaiki masalah dengan kontrol alat untuk meningkatkan kualitas kode Anda. Coba atur opsi default untuk tim proyek Anda untuk meningkatkan standar pengkodean seperti mengindir setiap baris dengan spasi, di mana menempatkan kawat gigi keriting, dan menggunakan kutipan tunggal atau ganda di seluruh file kode.
04. Tes
Tes unit adalah salah satu fungsi yang dilakukan oleh fungsi independen kecil: jalankan salah satu fungsi dari basis kode utama input spesifik Anda untuk mengonfirmasi bahwa itu menghasilkan nilai yang diharapkan. Untuk meningkatkan kepercayaan diri Anda, kode ini akan menulis kerangka kerja yang digunakan seperti yang diharapkan, seperti melati atau qunit untuk setiap tes unit fungsional, menggunakan parameter input yang diharapkan dan tidak terduga. Tapi jangan lupa situasi tepi itu!
Jalankan tes ini di beberapa browser di beberapa sistem operasi, memungkinkan Anda untuk mempercepat tes pada mesin virtual di cloud dalam permintaan Anda dengan memanfaatkan layanan ini, seperti browserStack atau saus laboratorium. Kedua layanan ini menyediakan API yang memungkinkan tes unit Anda dijalankan secara otomatis pada beberapa browser secara bersamaan, dan setelah selesai, mereka akan memberi umpan balik kepada Anda. Sebagai bonus, jika kode Anda disimpan di GitHub, Anda dapat mengambil BrowsersWarm, alat yang secara otomatis akan menjalankan tes unit Anda saat mengirimkan kode Anda.
05. Pengukuran
Alat cakupan kode seperti Istanbul mengukur baris kode mana yang dieksekusi ketika tes unit Anda dijalankan pada fungsi Anda, melaporkannya sebagai persentase dari jumlah total baris kode. Menjalankan alat cakupan kode pada tes unit Anda dan menambahkan tes tambahan dapat meningkatkan skor cakupan Anda menjadi 100%, memberi Anda kepercayaan yang lebih besar pada kode Anda.
Kompleksitas suatu fungsi dapat diukur dengan menggunakan metrik kompleksitas Hallstead: persamaan yang ditetapkan oleh ilmuwan komputer Morris Hallstead pada tahun 1970 -an. Kompleksitas suatu fungsi dikuantifikasi berdasarkan loop, cabang dan fungsi yang disebutnya: kompleksitas suatu fungsi dapat diukur menggunakan ukuran kompleksitas Halstead. Ketika skor kompleks ini berkurang, semakin mudah untuk memahami dan mempertahankan fungsi ini, mengurangi kemungkinan kesalahan. Visualisasi data yang dihasilkan dari alat Plato alat jalur perintah dan kompleksitas kode javascript membantu menentukan fungsionalitas yang dapat ditingkatkan saat menyimpan hasil sebelumnya, memungkinkan pelacakan peningkatan kualitas dari waktu ke waktu.
06. Otomasi
Gunakan pelari tugas seperti Grunt untuk secara otomatis mengoperasikan proses kompilasi file, analisis, pengujian, cakupan dan kompleksitas. Sebagian besar alat dan kerangka kerja pengujian yang disorot dalam posting ini dikaitkan dengan Grunt, yang dapat membantu Anda meningkatkan kualitas alur kerja dan kode Anda tanpa harus menggerakkan jari.
07. Tangani pengecualian
Pada saat yang sama, pada titik tertentu, kode Anda akan memiliki kesalahan saat berjalan. Gunakan pernyataan "coba ... tangkap" untuk menangani kesalahan runtime dengan benar dan dampak perilaku membatasi di situs web Anda. Gunakan layanan jaringan untuk merekam kesalahan yang terjadi saat berjalan. Dan gunakan informasi ini untuk menambahkan tes unit baru untuk meningkatkan kode Anda dan menghilangkan kesalahan ini satu per satu.
Langkah menuju kesuksesan
Tujuh langkah ini membantu saya membuat beberapa kode yang paling saya banggakan dalam karier saya sejauh ini. Mereka juga merupakan fondasi yang baik untuk masa depan. Dalam proyek Anda sendiri, kami berjanji untuk menggunakan langkah-langkah ini untuk menghasilkan kode JavaScript berkualitas tinggi, sehingga kami dapat bekerja sama untuk meningkatkan jaringan dan mengarah pada keberhasilan langkah demi langkah.