Kata Pengantar: Ya, itu meningkat dengan cepat. Tetapi memutuskan untuk melakukannya. Semoga jawaban ini bermanfaat bagi Anda dan pembaca lainnya.
Petunjuk Kode
Meskipun JSLint dan JSHint adalah alat yang baik untuk digunakan, selama bertahun-tahun saya menghargai apa yang disebut teman saya @ugly_syntax :
ruang desain yang lebih kecil .
Ini adalah prinsip umum, seperti "biarawan zen", membatasi pilihan yang harus dibuat, seseorang dapat lebih produktif dan kreatif.
Karenanya, gaya kode JS nol konfigurasi favorit saya saat ini:
StandardJS .
PEMBARUAN :
Aliran telah meningkat banyak. Dengan itu, Anda dapat menambahkan jenis ke JS Anda dengan akan membantu Anda mencegah banyak bug. Tapi itu juga bisa menghalangi Anda, misalnya ketika menghubungkan JS yang tidak diketik. Cobalah!
Mulai cepat / TL; DR
Tambahkan standard
sebagai ketergantungan pada proyek Anda
npm install --save standard
Lalu package.json
, tambahkan skrip pengujian berikut:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Untuk keluaran yang lebih bagus saat mengembangkan, npm install --global snazzy
dan jalankan sebagai gantinya npm test
.
Catatan: Jenis pemeriksaan versus Heuristik
Teman saya ketika menyebutkan ruang desain yang mengacu pada Elm dan saya mendorong Anda untuk mencoba bahasa itu.
Mengapa? JS sebenarnya terinspirasi oleh LISP, yang merupakan kelas bahasa khusus, yang kebetulan tidak diketik . Bahasa seperti Elm atau Purescript adalah bahasa pemrograman fungsional yang diketik .
Ketik membatasi kebebasan Anda agar kompiler dapat memeriksa dan memandu Anda saat Anda akhirnya melanggar bahasa atau aturan program Anda sendiri; terlepas dari ukuran (LOC) program Anda.
Kami baru-baru ini memiliki kolega yunior mengimplementasikan antarmuka reaktif dua kali: sekali di Elm, sekali di React; lihatlah untuk mendapatkan beberapa gagasan tentang apa yang saya bicarakan.
Bandingkan Main.elm
(diketik) ⇔ index.js
(tidak diketik , tidak ada tes)
(ps. perhatikan bahwa kode Bereaksi tidak idiomatik dan dapat ditingkatkan)
Satu komentar terakhir,
kenyataannya adalah bahwa JS tidak diketik. Siapa yang saya sarankan untuk mengetik program untuk Anda?
Lihat, dengan JS kita berada di domain yang berbeda: terbebas dari tipe, kita dapat dengan mudah mengekspresikan hal-hal yang sulit atau tidak mungkin untuk memberikan tipe yang tepat (yang tentunya bisa menjadi keuntungan).
Tetapi tanpa tipe ada sedikit untuk menjaga program kami di cek, jadi kami dipaksa untuk memperkenalkan tes dan (untuk memperluas) gaya kode.
Saya sarankan Anda melihat LISP (misalnya ClojureScript ) untuk inspirasi dan berinvestasi dalam pengujian kode Anda. Baca Cara subtack untuk mendapatkan ide.
Perdamaian.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
, paradoks.