Mengapa Anda Membutuhkan Code Sniffer untuk Pengembangan Web
Optimasi kode dapat dibandingkan dengan fase pengeditan tulisan. Pertama-tama Anda mungkin perlu mendapatkan ide-ide Anda dalam kode, tetapi kode Anda harus dioptimalkan dengan alat-alat seperti kode sniffer untuk menghasilkan produk terbaik.
Kode sniffing adalah istilah yang menggambarkan memeriksa kode untuk kepatuhan dengan standar peraturan. Peraturan ini mungkin menentukan jumlah ruang yang digunakan untuk lekukan, penempatan kurung kurawal, atau bagaimana menyebutkan nama variabel. Standar tidak penting untuk membangun aplikasi web, tetapi standar penting untuk konsistensi internal dan pemeliharaan kode.
Di sinilah sniffing kode berguna untuk semua pengembang, frontend ke backend. aku suka untuk periksa proses sniffing kode dan menawarkan beberapa utilitas yang membantu menganalisis standar kode.
Apa itu Kode Sniffing??
Tindakan kode sniffing biasanya otomatis ke menghemat waktu dan mengurangi kesalahan. Kode sniffer akan periksa kode sumber untuk kepatuhan dengan standar ditetapkan oleh tim pengembangan internal atau badan pengatur.
Code sniffing mirip dengan kode linting tetapi lebih pedantic. Linting terutama memeriksa bug dan kesalahan sintaksis sementara mengendus mencari masalah di kode cara ditulis. File PHP masih dapat berfungsi dengan baik tetapi akan gagal dalam pengujian kode sniffing jika nama variabel tidak mengikuti standar (yaitu. $ myVariable vs. $ my_variable).
Sepotong istilah serupa adalah bau kode yang memeriksa cacat desain dalam kode yang dapat menyebabkan bug lebih besar. Ini dapat berhubungan dengan standar kode tetapi juga termasuk arsitektur tingkat yang lebih tinggi untuk menulis kode homogen.
Semua area ini layak untuk dicakup dan relevan dengan kode sniffing. Hanya perlu diingat bahwa kode sniffing tidak akan selalu menemukan bug runtime karena prioritasnya adalah menjaga kepatuhan ketat dengan standar.
Sekarang Anda mungkin bertanya pada diri sendiri apakah standar itu penting? Sebenarnya mereka memang penting, tetapi lebih untuk optimasi dan pembersihan proyek. Banyak pengembang setuju bahwa standar sangat penting untuk pemrograman dan pengembangan web - terutama pada proyek tim besar.
Berikut ini kutipan dari pengembang Paul Jones yang menjelaskan mengapa standar kode bermanfaat.
“Inti dari standar gaya pengkodean bukan untuk mengatakan satu gaya secara objektif lebih baik daripada yang lain ... Sebaliknya intinya adalah untuk menetapkan harapan yang diketahui tentang bagaimana kode akan terlihat..”
Jika Anda membuat webapp kecil untuk diri sendiri, mungkin tidak ada gunanya menghabiskan waktu di WCAG 2.0 atau standar PSR-2. Tetapi pertimbangkan ratusan pengembang yang mengerjakan kode sumber Adobe Photoshop. Akan kacau jika setiap orang menulis gaya mereka sendiri dan menggabungkan semuanya.
Meskipun tim sangat bergantung pada standar, aturan-aturan ini masih bisa bermanfaat untuk pengembang juga. Anda dapat menemukan standar kode untuk semuanya mulai dari CSS hingga WordPress sehingga tidak ada alasan untuk tidak mencoba dan melihat apakah kualitas kode Anda meningkat.
Nilai Standar Kode
Standar akan secara alami menjaga kode Anda tetap bersih dan terorganisir. Pengembang tahu persis cara menulis kode dan cara mengikuti pekerjaan masing-masing.
Standar kode juga membantu pengembangan sumber terbuka dengan menawarkan aturan untuk diikuti orang lain. File dapat diambil oleh siapa pun berbulan-bulan atau bertahun-tahun kemudian dan masih mudah dibaca.
Gaya pengkodean yang ketat adalah ide yang bagus bahkan jika Anda memilih untuk membuat sendiri. Ini membutuhkan banyak upaya, tetapi seiring dengan pertumbuhan proyek, jenis dokumentasi ini sangat berharga.
Berikut adalah beberapa standar pengkodean yang perlu dipertimbangkan yang mencakup keseluruhan berbagai bahasa web.
- Standar pengkodean PEAR (PHP)
- Standar Google untuk HTML / CSS
- Standar Google untuk JavaScript
- Django Coding Style (Python)
- Panduan Gaya Rails (Ruby)
- WCAG 2.0 (UX)
Sumber Kode Sniffing Terbaik
Sekarang mungkin untuk menemukan sniffer kode gratis untuk semuanya, mulai dari HTML / CSS hingga bahasa backend seperti PHP dan SQL. Anda mungkin tidak perlu menggunakan sniffer ini atau mengikuti standar untuk setiap bahasa, tetapi ada baiknya menyelidiki kemungkinan untuk melihat apa yang dapat meningkatkan kinerja Anda..
Sniffer Kode Frontend
Meskipun HTML tidak perlu sniffer kode yang tidak menghentikan Squiz untuk membangunnya. Ini sepenuhnya open source dan di-host di GitHub dengan opsi untuk menyalin / menempelkan kode ke browser atau menyimpan bookmarklet untuk dijalankan pada masing-masing halaman web.
Sniffer ini memeriksa terhadap tiga tingkat standar aksesibilitas A, AA, dan AAA WCAG bersama dengan panduan 508 bagian yang berlaku terutama untuk situs web pemerintah.
Pengembang CSS mungkin menyukai sniffer kode CSS gratis ini yang juga merupakan open source, yang di-host melalui Node Package Manager.
Pengguna jQuery harus memeriksa JSCodeSniffer yang dibangun oleh Dmitry Sheiko. Ini adalah webapp gratis lain yang di-host di GitHub yang sesuai dengan panduan gaya kode jQuery.
Atau Anda mungkin ingin mencoba linting kode JS Anda dengan JavaScript Lint atau JS Lint. Alat-alat ini memeriksa kesalahan dalam sintaks daripada standar kode, tetapi mereka juga sangat membantu ketika datang ke optimasi kode frontend.
Sebagai catatan juga dimungkinkan untuk memeriksa standar JS / CSS secara langsung dengan PHP_CodeSniffer.
Pelacak Kode PHP
PHP_CodeSniffer adalah alat yang harus dimiliki di toolbelt Anda jika Anda ingin mematuhi standar kode PHP. Paket berisi beberapa Skrip PHP yang menganalisis kode PHP, JS, dan CSS untuk kepatuhan dengan dokumentasi gaya kode pilihan Anda.
Pencipta PHP_CodeSniffer Greg Sherwood menulis cerita latar yang indah tentang bagaimana ide itu muncul dan masalah apa yang berusaha dipecahkannya (layak dibaca jika Anda punya waktu).
Singkatnya, Greg bekerja dengan tim yang mempelajari JavaScript yang dibangun di dalam aplikasi PHP. Tujuan mereka adalah untuk menyusun JS dengan cara yang mengikuti standar kode PHP untuk membuat hidup lebih mudah bolak-balik. Dengan demikian PHP_CodeSniffer lahir.
Ini bagus untuk pengembang PHP karena bahasa sangat longgar dengan persyaratan gaya wajib. Kerangka kerja seperti Laravel lebih ketat, tetapi pengembang dapat (dan harus) mengatur standar kode mereka sendiri tanpa bergantung pada kerangka kerja pihak ketiga.
Berbagai standar seperti PSR-0, PSR-1, dan PSR-2 semuanya populer dan dikemas dengan perpustakaan sniffing PHP.
Tetapi Anda dapat menemukan banyak standar kode pra-dibuat lainnya untuk PHP CMS 'seperti WordPress, Magento, dan Drupal. Pengembang pada inti Drupal bahkan merilis modul kode sniffer resmi bernama Coder.
PHP tidak diragukan lagi bahasa yang paling mudah untuk dioptimalkan dengan kode sniffer. Jika Anda mencari daftar standar kode PHP lihat entri GitHub ini.
Sniffer Kode Backend Lainnya
Pengembang Backend bekerja dengan berbagai bahasa di luar PHP dan jumlahnya bertambah setiap tahun. Dengan bahasa alternatif, kami juga memiliki pustaka kode sniffing alternatif seperti pemecah kode untuk Python.
Mungkin untuk memeriksa skrip lain secara daring atau menggunakan alat seperti PyLint. Tetapi ini adalah metodologi lain yang membutuhkan kesabaran untuk bekerja dalam aliran perkembangan Anda.
Ruby devs juga memiliki serangkaian pilihan ketika datang ke analisis dan kode linting. Yang terbaik selalu gratis dan open source seperti Ruby Lint, penganalisa kode statis yang dibuat untuk kode Ruby modern.
Saya belum menemukan sniffer kode Node.js khusus, tetapi saya berharap sebuah proyek akan muncul seiring waktu. Ada sniffer kode JS yang mendukung standar Node, tetapi masih merupakan bahasa backend yang lebih baru dan membutuhkan waktu untuk berkembang.
Terakhir kami memiliki sintaks SQL yang digunakan untuk database. Kode ini mungkin lebih sulit karena sulit untuk menemukan standar sintaks yang didukung dengan baik untuk kode sumber SQL. Tapi saya memang menemukan webapp pemformatan SQL yang seharusnya terbukti sangat berguna ketika mengoptimalkan permintaan basis data.
Bungkus
Tempat terbaik untuk memulai sniffing kode adalah dengan satu bahasa dan satu standar. HTML / CSS adalah tempat yang mudah untuk memulai bagi pengembang frontend sementara PHP sering menjadi pilihan favorit di antara pengembang backend (terutama WordPress devs).
Dan jika Anda ingin mempelajari lebih lanjut, lihat posting terkait ini tentang mengendus kode, menyisir, dan analisis kode otomatis untuk pengoptimalan.
- Mengapa Anda Membutuhkan Standar Pengodean
- Code Smells oleh Jeff Atwood
- Kode PHP Sniffer: Instalasi & Konfigurasi
- Pengantar CodeSniffer (Bagian 1)
- GitHub Showcase: Clean Code Linters