Kenapa Anda Perlu Sniffers Kod untuk Pembangunan Web
Pengoptimuman kod adalah setanding dengan fasa penyuntingan penulisan. Anda mungkin perlu mendapatkan idea anda dalam kod, tetapi kod anda harus dioptimumkan dengan alat seperti itu sniffers kod untuk menghasilkan produk terbaik.
Kod sniffing adalah istilah yang menggambarkan menyemak kod untuk mematuhi piawaian pengawalseliaan. Peraturan ini mungkin menentukan bilangan ruang yang digunakan untuk indentasi, penempatan pendakap kerinting, atau bagaimana untuk menamakan pembolehubah. Standard tidak penting untuk membina aplikasi web, tetapi standard adalah penting untuk konsisten dalaman dan penyelenggaraan kod.
Di sinilah kod sniff berguna bagi semua pemaju, frontend untuk backend. Saya mahu memeriksa proses kod sniffing dan menawarkan beberapa utiliti yang membantu menganalisis standard kod.
Apa itu Kod Sniffing?
Tindakan kod menghidu biasanya diautomatikkan menjimatkan masa dan mengurangkan kesilapan. Sniffers kod akan semak kod sumber untuk memenuhi piawaian yang ditetapkan oleh pasukan pembangunan dalaman atau badan pengawalseliaan.
Kod menghidu adalah serupa dengan kod linting tetapi lebih menarik. Linting terutamanya cek untuk kesalahan bug dan sintaks semasa menghidu mencari isu dalam kod jalan ditulis. Fail PHP masih boleh berfungsi dengan baik tetapi akan gagal ujian menghidupkan kod jika nama variabel tidak mengikuti standard (iaitu. $ myVariable vs $ my_variable).
Sekeping terminologi yang sama adalah bau kod yang cek untuk kelemahan reka bentuk dalam kod yang boleh menyebabkan pepijat yang lebih besar. Ini boleh dikaitkan dengan standard kod tetapi juga termasuk arsitektur peringkat tinggi untuk menulis kod homogen.
Semua kawasan ini bernilai meliputi dan berkaitan dengan kod yang menghidu. Perlu diingat bahawa kod menghidu tidak akan sentiasa mencari runtime bug sejak keutamaannya adalah mengekalkan pematuhan ketat dengan standard.
Sekarang anda mungkin bertanya pada diri sendiri apakah piawaian juga penting? Kebenarannya adalah perkara penting, tetapi lebih untuk pengoptimuman dan pembersihan projek. Ramai pemaju bersetuju bahawa piawaian adalah penting untuk pengaturcaraan dan pembangunan web - terutama pada projek pasukan besar.
Berikut adalah petikan dari pemaju Paul Jones yang menerangkan mengapa standard kod berguna.
“Titik standard gaya pengekodan bukan untuk mengatakan satu gaya secara objektif lebih baik daripada yang lain ... Sebaliknya maksudnya adalah untuk menetapkan harapan yang diketahui tentang bagaimana kod akan kelihatan.”
Sekiranya anda membina webapp kecil untuk diri sendiri, tidak semestinya menghabiskan masa pada piawaian WCAG 2.0 atau PSR-2. Tetapi pertimbangkan beratus-ratus pemaju yang menggunakan kod sumber Adobe Photoshop. Ia akan menjadi huru-hara jika setiap orang menulis gaya mereka sendiri dan menggabungkannya bersama-sama.
Walaupun pasukan bergantung banyak kepada piawaian, peraturan ini masih boleh digunakan untuk pemaju tunggal. Anda boleh menemui standard kod untuk segala-galanya dari CSS ke WordPress jadi tidak ada alasan untuk tidak mencuba dan melihat jika kualiti kod anda bertambah baik.
Nilai Standard Kod
Piawaiannya secara semula jadi pastikan kod anda bersih dan teratur. Pemaju tahu dengan tepat bagaimana menulis kod dan bagaimana untuk mengikuti bersama-sama dengan kerja masing-masing.
Piawaian kod juga membantu pembangunan sumber terbuka dengan menawarkan peraturan untuk orang lain mengikutinya. Fail boleh diambil oleh sesiapa bulan atau tahun kemudian dan masih mudah dibaca.
Gaya pengekodan yang ketat adalah idea yang baik walaupun anda memilih untuk membuat sendiri. Ini memerlukan banyak usaha, tetapi apabila projek mengembangkan jenis dokumentasi ini tidak ternilai.
Berikut adalah beberapa piawaian pengekodan untuk mempertimbangkan bahawa merangkumi pelbagai bahasa web.
- Standard Pengekodan PEAR (PHP)
- Piawaian Google untuk HTML / CSS
- Piawaian Google untuk JavaScript
- Gaya Pengekodan Django (Python)
- Panduan Gaya Kereta Api (Ruby)
- WCAG 2.0 (UX)
Kod Pengendalian Kod Terbaik
Ia kini mungkin untuk mencari sniffers kod percuma untuk semua dari HTML / CSS ke bahasa backend seperti PHP dan SQL. Anda mungkin tidak perlu menggunakan sniffers ini atau mengikuti piawaian untuk setiap bahasa tetapi patut disiasat kemungkinan untuk melihat apa yang dapat meningkatkan prestasi anda.
Sniffers Kod Frontend
Walaupun HTML tidak keperluan sebuah sniffer kod yang tidak berhenti Squiz daripada membina satu. Ia benar-benar sumber terbuka dan dihoskan pada GitHub dengan pilihan untuk menyalin / menampal kod ke pelayar atau menyimpan penanda buku untuk dijalankan di halaman web individu.
Pemeriksaan ini dilakukan terhadap tiga tingkat standard A, AA, dan AAA WCAG bersama-sama dengan seksyen 508 garis panduan yang digunakan terutama untuk laman web kerajaan.
Pemaju CSS mungkin suka sniffer kod CSS percuma ini yang juga sumber terbuka, dihoskan melalui Pengurus Pakej Node.
pengguna jQuery perlu menyemak JSCodeSniffer yang dibina oleh Dmitry Sheiko. Ini adalah satu lagi webapp percuma yang dihoskan pada GitHub yang mematuhi panduan gaya kod jQuery.
Sebagai alternatif, anda mungkin mahu cuba memasukkan kod JS anda dengan JavaScript Lint atau JS Lint. Alat ini memeriksa kesilapan dalam sintaks dan bukannya kod piawai, tetapi mereka juga sangat berguna ketika datang ke pengoptimuman kode frontend.
Untuk rekod, ia juga mungkin untuk memeriksa piawaian JS / CSS secara langsung dengan PHP_CodeSniffer.
Kod Sniffer PHP
PHP_CodeSniffer adalah alat wajib dalam alat anda jika anda ingin mematuhi standard kod PHP. Pakej ini mengandungi beberapa Skrip PHP yang menganalisis PHP, JS, dan kod CSS untuk pematuhan dengan pilihan dokumentasi gaya kod anda.
Pencipta PHP_CodeSniffer Greg Sherwood menulis sebuah backstory yang indah tentang bagaimana idea itu muncul dan masalah yang cuba diselesaikannya (membaca dengan baik jika anda mempunyai masa).
Secara ringkasnya, Greg bekerja dengan satu pasukan pembelajaran JavaScript yang dibina ke dalam aplikasi PHP. Matlamat mereka adalah untuk struktur JS dengan cara yang mengikuti piawaian kod PHP untuk menjadikan hidup lebih mudah beralih ke belakang dan sebagainya. Oleh itu, PHP_CodeSniffer dilahirkan.
Ini bagus untuk pemaju PHP kerana bahasa ini sangat longgar dengan keperluan gaya mandatori. Rangka kerja seperti Laravel lebih ketat, tetapi pemaju boleh (dan sepatutnya) menetapkan standard kod mereka sendiri tanpa bergantung kepada kerangka pihak ke-3.
Pelbagai piawaian seperti PSR-0, PSR-1, dan PSR-2 semuanya popular dan dibungkus dengan perpustakaan menghidupkan PHP.
Tetapi anda boleh menemui banyak kod kod pra-dibuat lain untuk PHP CMS 'seperti WordPress, Magento, dan Drupal. Pemaju pada teras Drupal bahkan mengeluarkan modul kod sniffer rasmi bernama Coder.
PHP adalah bahasa yang paling mudah untuk dioptimumkan dengan menghidupkan kod. Jika anda cari senarai piawaian kod PHP semak masuk GitHub ini.
Sniffers Kod Backend lain
Pemaju backend berfungsi dengan pelbagai bahasa di luar PHP dan bilangannya semakin meningkat setiap tahun. Dengan bahasa-bahasa lain, kami juga mempunyai kod sifik yang silih berganti seperti kod-sniffer untuk Python.
Anda mungkin menyemak skrip lain dalam talian atau menggunakan alat seperti PyLint. Tetapi ini adalah satu lagi metodologi yang memerlukan kesabaran untuk bekerja dalam aliran pembangunan anda.
Ruby devs juga mempunyai beberapa pilihan ketika datang kod linting dan analisis. Yang terbaik adalah sentiasa bebas dan sumber terbuka seperti Ruby Lint, penganalisis kod statik yang dibina untuk kod Ruby moden.
Saya masih belum dapat mencari sniffer kod Node.js yang berdedikasi tetapi saya berharap projek akan muncul dengan masa. Terdapat JS sniffers yang menyokong standard Node, tetapi ia masih bahasa backend baru dan memerlukan masa untuk berkembang.
Akhir sekali kita mempunyai sintaks SQL yang digunakan untuk pangkalan data. Kod ini mungkin lebih rumit kerana sukar untuk mencari standard sintaks yang disokong dengan baik untuk kod sumber SQL. Tetapi saya mendapati webapp pemformatan SQL yang harus membuktikan amat berguna apabila mengoptimumkan pertanyaan pangkalan data.
Wrap Up
Tempat terbaik untuk memulakan menghidupkan kod adalah dengan satu bahasa dan satu piawai. HTML / CSS adalah tempat yang mudah untuk dimulakan untuk pemaju frontend manakala PHP sering menjadi pilihan kegemaran di kalangan pemaju backend (terutama devs WordPress).
Dan jika anda ingin mengetahui lebih lanjut, lihat jawatan yang berkaitan dengan kod yang menghidu, linting, dan analisis kod automatik untuk pengoptimuman.
- Kenapa Anda Perlu Piawaian Pengkodan
- Code Smells by Jeff Atwood
- PHP Code Sniffer: Pemasangan & Konfigurasi
- Pengenalan kepada CodeSniffer (Bahagian 1)
- Showcase GitHub: Clean Code Linters