Saya dari latar belakang Java dan saya baru mengenal JavaScript. Saya telah memperhatikan banyak metode JavaScript menggunakan nama parameter karakter tunggal, seperti dalam contoh berikut.
doSomething(a,b,c)
Saya tidak suka, tetapi sesama pengembang JavaScript meyakinkan saya bahwa ini dilakukan untuk mengurangi ukuran file, mencatat bahwa file JavaScript harus ditransfer ke browser.
Kemudian saya menemukan diri saya berbicara dengan pengembang lain. Dia menunjukkan kepada saya cara Firefox akan memotong nama variabel untuk memuat halaman lebih cepat. Apakah ini praktik standar untuk browser web?
Apa konversi penamaan praktik terbaik yang harus diikuti saat memprogram dalam JavaScript? Apakah panjang pengidentifikasi penting, dan jika demikian, sampai sejauh mana?
eval
, itu tidak aman (yeah,eval
mengerikan, tapi itu bagian dari standar dan Anda tidak membuang kompilasi standar untuk optimasi) dan itu tidak membantu sedikit pun dalam mengurangi lalu lintas - Anda masih akan kirim file lengkap.Jawaban:
Anda akan menemukan bahwa pengembang itu sendiri tidak menggunakan nama variabel pendek. Saat berkembang, mereka menggunakan nama variabel yang bermakna dan terperinci.
Kemudian , dalam proses build / release, kode yang mereka tulis dijalankan melalui minifier / obfuscator dengan tujuan meminimalkan ukuran file, sebagai praktik terbaik untuk mempercepat situs web. Ini adalah opsional langkah jika Anda peduli bahwa banyak tentang kinerja. Sebagian besar situs web kecil tidak melakukan ini.
Anda , sebagai pengembang, tidak perlu peduli dengan proses minifikasi / kebingungan; tulis kode Anda sehingga dapat dibaca, bermakna, didokumentasikan dengan baik dan terstruktur dengan baik. Kemudian jika Anda sangat peduli dengan kinerja (opsional, jangan lupa!), Perkenalkan minifier / obfuscator ke dalam proses rilis Anda untuk memperkecil kode (hapus spasi, baris baru, komentar, dll.) Dan untuk mengaburkannya (mis., Persingkat variabel) nama). Artikel bagus yang menjelaskan kebingungan vs minifikasi dapat ditemukan di sini .
Selain itu, Desktop FireFox tidak akan memotong periode nama variabel . Pemotongan nama variabel ada untuk mempercepat pengunduhan halaman. Pada saat FireFox mendapatkan file, itu sudah diunduh sehingga tidak perlu melakukannya. Teman Anda dapat menjalankan plugin yang melakukan ini; dalam hal ini, katakan padanya untuk menghapusnya, karena itu tidak berguna.
Untuk penyelesaian, beberapa peramban (seluler) memiliki opsi untuk menggunakan server perantara, yang mencegat respons sumber daya yang Anda minta, dan mengompresnya untuk Anda (yang dapat mencakup minifikasi file JavaScript). Perhatikan bahwa kompresi dilakukan di server (yaitu sebelum Anda mengunduh halaman), maka manfaat potensial mengunduh file yang lebih kecil, daripada di browser setelah Anda mengunduh file (seperti yang disarankan dalam pertanyaan). Browser seluler tersebut termasuk Opera Mini, dan versi Google Chrome yang lebih baru (setidaknya di iOS; tidak yakin tentang Android). Untuk info lebih lanjut, lihat di sini .
sumber
Tidak, tidak semua browser akan secara otomatis mempersingkat JavaScript untuk membantu kinerja.
Namun, dalam kasus JavaScript, Anda tidak boleh mengorbankan pembacaan kode / pemeliharaan untuk mendapatkan kecepatan pemrosesan atau keamanan karena ada alat yang disebut obfuscators dan alat lain yang disebut shinkers (atau kompresor) yang dirancang untuk tujuan ini.
Ingat, jangan pra-optimalkan. Jika halaman Anda memuat cukup cepat, dan Anda tidak memiliki konten yang terlalu sensitif dalam JavaScript Anda, jangan khawatir tentang hal itu. Beri nama variabel Anda dengan nama yang bermakna. Keterbacaan kode sangat penting untuk pemeliharaan dan harus jarang, jika pernah, dikorbankan.
Jika Anda ingin referensi ke beberapa konvensi pengkodean JavaScript yang baik, saya sarankan menggunakan ini .
sumber
Jangan khawatir tentang ukuran file sebelum waktunya. Meskipun selalu menjadi perhatian, keterbacaan dan pemeliharaan lebih penting.
Dengan mengatakan bahwa, Anda mungkin harus servining minified (misalnya, melalui YUI Compressor ) versi script Anda tetap.
Jika Anda tertarik pada praktik terbaik untuk pengembangan web secara umum, saya sarankan membaca Apa yang harus diketahui setiap programmer tentang pengembangan web?
sumber
Saya bekerja di JavaScript untuk waktu yang sangat lama.
Kami memiliki standar penamaan yang mengharuskan Anda menggunakan Notasi Hongaria untuk semua variabel.
Tampaknya berhasil OK. Saya tahu bahwa ada beberapa kasus yang menentang penggunaan itu, tetapi itu berhasil dengan baik bagi kami. Terutama ketika Anda memiliki file JavaScript besar di mana Anda perlu menemukan barang-barang.
Saya akan memperingatkan agar tidak mengoptimalkan secara prematur. Anda sangat mungkin berakhir dengan kode berantakan yang tidak benar-benar berjalan lebih cepat.
sumber
goto
di mana orang-orang tanpa berpikir mengulangi mantra 'Dont penggunaan goto ... tidak menggunakan goto ...' . Kenyataannya adalah itu hanya alat di toolkit Anda. Seperti alat apa pun ia memiliki situasi di mana itu berguna dan situasi di mana itu tidak begitu berguna (atau bahkan berbahaya). Ini seperti seseorang yang memiliki pengalaman buruk mencoba melihat sepotong kayu dengan palu, dan kemudian menyatakan 'jangan pernah menggunakan palu, gergaji lebih baik!' . Generalisasi menyeluruh selalu salahPanjang pengenal tidak masalah. Seperti yang dikatakan oleh orang lain, dalam Minification produksi dapat digunakan untuk mengurangi waktu pengunduhan skrip. Bahkan, konvensi pengkodean / penamaan yang dapat diterima harus dipatuhi, terutama karena JavaScript adalah bahasa yang unik dan JavaScript telah lama diabaikan sebagai hal untuk menyelesaikan pekerjaan. Jika Anda mencari tempat untuk konvensi penamaan, Panduan Gaya JavaScript Google adalah tempat yang bagus. Itu menunjukkan,
sumber
Marah oleh filosofi "pengembang kode bersih" (dan sekarang Anda tahu dari posting di atas bahwa dengan mengecilkan ukuran nama variabel Anda tidak akan berdampak pada kinerja) saya hanya bisa memberi saran:
Tulis kode Anda dengan cara yang membuat komentar tidak berguna. Itu artinya, alih-alih menulis
yang bisa berarti apa saja (terutama dalam bahasa yang diketik longgar seperti js;) Anda membuat kode mengekspresikan dirinya sendiri
Dalam IDE yang bagus, Anda biasanya tidak akan pernah mengetik nama variabel apa pun yang lama dua kali - detik saat Anda mengetik beberapa huruf dan cukup tekan enter dari pelengkapan otomatis. Jika Anda bersikeras mengetik setiap karakter sendiri, IDE yang baik tetap akan melihat Anda salah ketik. Ini hanyalah contoh yang sangat dangkal, oleh karena itu saya sangat menyarankan (bukan sebagai bentuk kritik tetapi sebagai rekomendasi jujur) bahwa Anda
Dapatkan buku "Kode Bersih" oleh Robert C.Martin dan atau "Pragmatic Programmer" oleh Hunt / Thomas dan jangan pernah bertanya pada diri sendiri pertanyaan seperti ini lagi - Anda akan terlalu sibuk bekerja pada server integrasi berkelanjutan untuk mengotomatiskan tes membosankan -, & buat bagian-bagian dari proses pengembangan (termasuk minifying) dan berkonsentrasilah pada bagian yang menyenangkan, menulis kode yang jelas dapat dimengerti yang menghasilkan hal-hal hebat!
NB. Jika Anda perlu meningkatkan dengan mengembangkan kode javascript canggih, lihatlah John "Mr. jQuery" Buku resig tentang "Teknik Javascript Pro" tepat setelah atau bersamaan dengan yang di atas.
sumber