Miksi tarvitset koodin sniffers Web-kehitystä
Koodin optimointi on verrattavissa kirjoituksen muokkausvaiheeseen. Sinun on ehkä ensin saatava ideoita koodiin, mutta koodi on optimoitava sellaisilla työkaluilla koodi sniffers tuottaa paras mahdollinen tuote.
Code sniffing on termi, joka kuvaa valvontakoodien noudattaminen sääntelystandardien noudattamiseksi. Nämä säännöt saattavat määrittää syvennykseen käytettävien tilojen lukumäärän, kierteisten kiinnikkeiden sijoittelun tai muuttujien nimeämisen. Standardit eivät ole välttämättömiä web-sovelluksen rakentamisessa, mutta standardit ovat tärkeitä sisäistä johdonmukaisuutta ja koodin ylläpitoa varten.
Tämä on silloin, kun koodi sniffing on kätevä kaikille kehittäjille, jotka ovat etupäässä. minä haluaisin tutki koodin nuuskaamista ja tarjota joitakin apuohjelmat, jotka auttavat analysoimaan koodistandardeja.
Mikä on Code Sniffing?
Koodin salauksen toiminta on yleensä automatisoitu säästää aikaa ja vähentää virheitä. Koodi sniffers tulee tarkista lähdekoodit standardien noudattamiseksi sisäisten kehittämisryhmien tai sääntelyelinten asettamat.
Koodin nuuskaaminen on samanlainen kuin koodin nukkaaminen, mutta enemmän pedanttinen. Linting ensisijaisesti tarkistaa vikoja ja syntaksivirheitä kun haistellaan, etsitään ongelmia tien koodi on kirjoitettu. PHP-tiedosto voi silti toimia kunnolla, mutta koodikoodaustesti epäonnistuu, jos muuttujan nimi ei noudata standardeja (eli. $ myVariable vs $ my_variable).
Samanlainen terminologia on koodin haju tarkistaa suunnitteluvirheet koodissa, joka voi johtaa suurempiin virheisiin. Tämä voi liittyä koodistandardeihin, mutta sisältää myös korkeamman tason arkkitehtuurit homogeenisen koodin kirjoittamiseksi.
Kaikki nämä alueet kannattaa peittää ja ne ovat merkityksellisiä nuuskaten. Muista vain, että sniffing-koodi ei aina löydä runtime bugs koska sen prioriteetti on standardien tiukkaa noudattamista.
Tähän mennessä saatat kysyä itseltäsi, onko standardeja edes tärkeitä? Totuus on, että ne ovat tärkeitä, mutta enemmän optimointiin ja hankkeiden puhdistamiseen. Monet kehittäjät ovat yhtä mieltä siitä, että standardit ovat välttämättömiä ohjelmoinnille ja web-kehitykselle - erityisesti suurten tiimihankkeiden osalta.
Tässä on lainaus kehittäjältä Paul Jonesilta, joka kertoo, miksi koodistandardit ovat hyödyllisiä.
“Koodausstandardin tarkoituksena ei ole sanoa, että yksi tyyli on objektiivisesti parempi kuin toinen… Sen sijaan on tarkoitus perustaa tunnettuja odotuksia siitä, miten koodi näyttää.”
Jos rakennat itsellesi pienen webappin, ei ehkä ole syytä viettää aikaa WCAG 2.0- tai PSR-2-standardeihin. Mutta harkitse satoja kehittäjiä, jotka työskentelevät Adobe Photoshopin lähdekoodissa. Olisi kaoottista, jos jokainen henkilö kirjoittaisi oman tyylinsä ja yhdistäisi sen yhteen.
Vaikka joukkueet luottavat vahvasti standardeihin, nämä säännöt voivat silti olla hyödyllisiä myös yksinäisille kehittäjille. Löydät koodistandardit kaikesta CSS: stä WordPressiin, joten ei ole mitään syytä olla kokeilematta, onko koodin laatu parantunut.
Koodistandardien arvo
Standardit luonnollisesti pitää koodisi puhtaana ja organisoituna. Kehittäjät tietävät tarkasti, miten kirjoittaa koodi ja miten seurata toistensa työtä.
Koodistandardit auttavat myös avoimen lähdekoodin kehittämisessä tarjoamalla sääntöjä muille. Tiedostot voi noutaa kuka tahansa kuukautta tai vuotta myöhemmin, ja niitä on edelleen helppo lukea.
Tiukka koodaustyyli on hyvä idea vaikka valitsisitte oman. Tämä vie paljon vaivaa, mutta projektien kasvaessa tällainen dokumentaatio on korvaamaton.
Seuraavassa on muutamia koodausstandardeja, joiden avulla voidaan harkita eri web-kieliä.
- PEAR-koodausstandardit (PHP)
- Google-standardit HTML / CSS: lle
- Google-standardit JavaScriptille
- Django-koodaustyyli (Python)
- Rails Style Guide (Ruby)
- WCAG 2.0 (UX)
Paras koodi haistelee resursseja
Nyt on mahdollista löytää vapaa koodi sniffers kaiken HTML / CSS backend kieliä kuten PHP ja SQL. Sinun ei tarvitse käyttää näitä sniffereitä tai noudattaa jokaisen kielen standardeja, mutta kannattaa tutkia mahdollisuuksia nähdä, mikä voisi parantaa suorituskykyäsi.
Frontend-koodi on kireämpi
Vaikka HTML ei ole tarve koodi, joka haastaa Squizin rakentamatta. Se on täysin avoimen lähdekoodin ja isännöi GitHubissa, jossa on vaihtoehtoja kopioida / liittää koodi selaimeen tai tallentaa kirjanmerkki, joka toimii yksittäisillä verkkosivuilla.
Tämä tarkempi tarkastus WCAG: n A, AA- ja AAA-esteettömyysstandardien kolmesta tasosta sekä 508 §: n suuntaviivat, jotka koskevat ensisijaisesti julkisyhteisöjen verkkosivustoja.
CSS-kehittäjät saattavat pitää tästä vapaasta CSS-koodista, joka on myös avoimen lähdekoodin, solmupakettien hallinnan kautta.
jQuery-käyttäjien tulisi tarkistaa DSC: n rakentama JSCodeSniffer. Tämä on toinen ilmainen webappijärjestelmä, joka sijaitsee GitHubissa ja joka noudattaa jQueryn koodityyliopasta.
Vaihtoehtoisesti voit kokeilla JS-koodin viemistä JavaScript Lintin tai JS Lintin avulla. Nämä työkalut tarkistavat syntaksiin liittyviä virheitä koodikoodien sijaan, mutta ne ovat myös erittäin hyödyllisiä, kun kyseessä on etuosan koodin optimointi.
Tietueelle on myös mahdollista tarkistaa JS / CSS-standardit suoraan PHP_CodeSnifferillä.
PHP-koodin Sniffer
PHP_CodeSniffer on työkalutyökalu, jos haluat noudattaa PHP-koodistandardeja. Paketti sisältää muutamia PHP-skriptit, jotka analysoivat PHP: tä, JS: ää ja CSS-koodia vaatimusten noudattamiseksi voit valita koodityylien dokumentoinnin.
PHP_CodeSniffer Greg Sherwoodin luoja kirjoitti ihanan taustan siitä, miten idea syntyi ja mitä ongelmia se yrittää ratkaista (jos kannattaa lukea, jos sinulla on aikaa).
Yhteenvetona voidaan todeta, että Greg työskenteli PHP-sovellukseen rakennetun tiimioppimisen JavaScriptin kanssa. Heidän tavoitteena oli rakentaa JS siten, että se noudatti PHP: n koodistandardeja, jotta elämä olisi helpompaa vaihtaa edestakaisin. Näin syntyi PHP_CodeSniffer.
Tämä on hyvä PHP-kehittäjille, koska kieli on hyvin löysä pakollisilla tyylivaatimuksilla. Laravelin kaltaiset kehykset ovat tiukempia, mutta kehittäjät voivat (ja niiden pitäisi) määrittää omia koodistandardejaan ilman kolmannen osapuolen kehystä.
Erilaiset standardit, kuten PSR-0, PSR-1 ja PSR-2, ovat kaikki suosittuja ja pakattu PHP-nuuskakirjastoon.
Mutta voit löytää paljon muita ennalta valmistettuja koodinormeja PHP CMS: lle, kuten WordPress, Magento ja Drupal. Drupalin ytimen kehittäjät julkaisivat jopa virallisen koodin Sniffer-moduulin nimeltä Coder.
PHP on epäilemättä helpoin kieli optimoimalla koodin haarukat. Jos etsit luettelo PHP-koodistandardeista tutustu tähän GitHub-merkintään.
Muut taustakoodit haurastuvat
Taustakehittäjät työskentelevät useilla kielillä PHP: n ulkopuolella ja numerot kasvavat vuosittain. Vaihtoehtoisilla kielillä meillä on myös vaihtoehtoinen koodin nuuskaus kirjastoja, kuten Pythonin koodimerkintä.
On mahdollista tarkistaa muita skriptejä verkossa tai käyttää PyLintin kaltaisia työkaluja. Mutta tämä on toinen metodologia, joka vaatii kärsivällisyyttä työskennellä kehitykseen.
Ruby deveilla on myös joukko valintoja koodin nukkuminen ja analysointi. Parhaat ovat aina ilmaisia ja avoimen lähdekoodin kaltaisia, kuten Ruby Lint, staattinen koodianalysaattori, joka on rakennettu modernille Ruby-koodille.
En ole vielä löytänyt omistettua Node.js-koodia, mutta toivon, että hanke syntyy ajan myötä. On olemassa JS-koodin sniffereitä, jotka tukevat solmun standardeja, mutta se on edelleen uudempi taustakieli ja vaatii aikaa kasvaa.
Lopuksi meillä on SQL-syntaksi tietokantoihin. Tämä koodi voi olla hankalampi, koska on vaikea löytää hyvin tuettuja syntaksistandardeja SQL-lähdekoodille. Mutta löysin SQL-muotoilun webappin, jonka pitäisi osoittautua erittäin hyödylliseksi tietokannan kyselyjen optimoinnissa.
Paketoida
Paras paikka aloittaa koodin nuuskaaminen on yhdellä kielellä ja yhdellä standardilla. HTML / CSS on helppo paikka aloittaa Frontend-kehittäjille, kun taas PHP on usein suosikkivalinta backend-kehittäjien joukosta (erityisesti WordPress devs).
Ja jos haluat lisätietoja, tutustu näihin liittyviin viesteihin koodin haisteluun, nukkaamiseen ja automaattiseen koodianalyysiin optimointia varten.
- Miksi tarvitset koodausstandardeja
- Koodi haisee Jeff Atwoodin mukaan
- PHP-koodi Sniffer: Asennus ja kokoonpano
- CodeSnifferin esittely (osa 1)
- GitHub Showcase: Clean Code Linters