Hvorfor du har brug for kode sniffere til webudvikling
Kodeoptimering kan sammenlignes med redigering af en skrivning. Du skal muligvis først få dine ideer nede i kode, men din kode skal optimeres med værktøjer som kode sniffere at producere det bedst mulige produkt.
Kode sniffing er et udtryk, der beskriver kontrol kode for overholdelse af lovgivningsmæssige standarder. Disse forskrifter kan angive antallet af pladser, der skal bruges til indrykning, placering af krøllede seler eller hvordan man navngiver variabler. Standarder er ikke afgørende for at opbygge en webapplikation, men standarder er vigtige til intern konsistens og kode vedligeholdelse.
Dette er hvor kode sniffing kommer til nytte for alle udviklere, frontend til backend. jeg vil gerne undersøge processen med kode sniffing og tilbyde nogle hjælpeprogrammer, der hjælper med at analysere kodestandarder.
Hvad er kode sniffing?
Handlingen af kode sniffing er typisk automatiseret til spare tid og reducere fejl. Kode sniffers vil Kontroller kildekoder for overholdelse af standarder indstillet af interne udviklingshold eller tilsynsorganer.
Kode sniffing ligner kode linting men mere pedantic. Linting primært kontrollerer fejl og syntaksfejl mens sniffing leder efter problemer i vejen kode er skrevet. En PHP-fil kan stadig fungere korrekt, men vil mislykkes en kode sniffing test, hvis et variabelt navn ikke følger standarder (dvs.. $ myVariable vs $ my_variable).
Et lignende stykke terminologi er kode lugt som kontrollerer designfejl i koden, der kan føre til større fejl. Dette kan relateres til kodestandarder, men indeholder også højere niveau arkitekturer til at skrive homogen kode.
Alle disse områder er værd at dække og er relevante for at kode sniffing. Bare husk at sniffing kode vil ikke altid finde runtime bugs da dens prioritet er opretholdelse af streng overholdelse af standarder.
På nuværende tidspunkt kan du spørge dig selv, gør standarder endda noget? Sandheden er, at de betyder noget, men mere for optimering og projektoprydning. Mange udviklere er enige om, at standarder er afgørende for programmering og webudvikling - især på store teamprojekter.
Her er et citat fra udvikleren Paul Jones, der forklarer, hvorfor kodestandarder er nyttige.
“Pointen med en kodestilstandard er ikke at sige, at en stil er objektivt bedre end en anden ... I stedet er det meningen at oprette kendte forventninger til, hvordan koden skal se.”
Hvis du selv opbygger en lille webapp, er det måske ikke værd at bruge tid på WCAG 2.0 eller PSR-2 standarder. Men overvej hundredvis af udviklere der arbejder med Adobe Photoshops kildekode. Det ville være kaotisk, hvis hver person skrev deres egen stil og kombinerede det hele sammen.
Selvom hold er stærkt afhængige af standarder, kan disse regler stadig være nyttige til også at udvikle udviklere. Du kan finde kode standarder for alt fra CSS til WordPress, så der er ingen undskyldning for ikke at forsøge at se, om din kodekvalitet forbedres.
Værdien af kode standarder
Standarder vil naturligt Hold din kode ren og organiseret. Udviklere ved præcis, hvordan man skriver kode og hvordan man følger med hinandens arbejde.
Kode standarder hjælper også open source udvikling ved at tilbyde regler for andre at følge. Filer kan hentes af nogen måneder eller år senere og stadig være let at læse.
En streng kodning stil er en god ide selvom du vælger at lave din egen. Det kræver en stor indsats, men da projekter vokser, er denne type dokumentation uvurderlig.
Her er nogle kodningsstandarder for at overveje at spænde for spekteret af forskellige websprog.
- PEAR-kodningsstandarder (PHP)
- Googles standarder for HTML / CSS
- Googles standarder for JavaScript
- Django kodning stil (python)
- Rails Style Guide (Ruby)
- WCAG 2.0 (UX)
Bedste kode sniffing ressourcer
Det er nu muligt at finde gratis kode sniffere til alt fra HTML / CSS til backend sprog som PHP og SQL. Du skal muligvis ikke bruge disse sniffere eller følge standarder for hvert sprog, men det er værd at undersøge mulighederne for at se, hvad der kan forbedre din ydeevne.
Frontend Code Sniffers
Selvom HTML ikke gør det brug for en kode sniffer, der ikke stoppede Squiz fra at bygge en. Det er helt open source og hostet på GitHub med mulighederne for at kopiere / indsætte kode i browseren eller gemme en bogmærke til at køre på individuelle websider.
Denne sniffer kontrollerer WCAGs tre niveauer af A, AA og AAA tilgængelighedsstandarder sammen med retningslinjerne i afsnit 508, der primært gælder for offentlige hjemmesider.
CSS-udviklere kan lide denne gratis CSS-kode sniffer, som også er open source, hostes via Node Package Manager.
jQuery-brugere bør tjekke ud JSCodeSniffer bygget af Dmitry Sheiko. Dette er en anden gratis webapp hostet på GitHub, der overholder jQuery's kodestilguide.
Alternativt kan du prøve at linting din JS kode med JavaScript Lint eller JS Lint. Disse værktøjer kontrollerer fejl i syntaks snarere end kodestandarder, men de er også meget nyttige, når det kommer til frontendkodoptimering.
For posten er det også muligt at kontrollere JS / CSS standarder direkte med PHP_CodeSniffer.
PHP kode sniffer
PHP_CodeSniffer er et must-have værktøj i dit værktøjsbælte, hvis du søger at overholde PHP-kodestandarder. Pakken indeholder et par stykker PHP scripts, der analyserer PHP, JS og CSS kode for overholdelse med dit valg af kodestil dokumentation.
Skaberen af PHP_CodeSniffer Greg Sherwood skrev en vidunderlig backstory om, hvordan ideen opstod, og hvilke problemer det forsøger at løse (værd at læse, hvis du har tid).
Sammenfattende arbejdede Greg med et team, der lærte JavaScript indbygget i en PHP-app. Deres mål var at strukturere JS på en måde, der fulgte Phps kode standarder for at gøre livet lettere at skifte frem og tilbage. Således blev PHP_CodeSniffer født.
Dette er fantastisk til PHP-udviklere, fordi Sproget er meget løs med obligatoriske stilkrav. Rammer som Laravel er mere strenge, men udviklere kan (og bør) opsætte deres egne kodestandarder uden at stole på en tredjeparts ramme.
Forskellige standarder som PSR-0, PSR-1 og PSR-2 er alle populære og pakket med PHP sniffing biblioteket.
Men du kan finde masser af andre færdige kode standarder for PHP CMS 'som WordPress, Magento og Drupal. Udviklere på Drupal-kernen lancerede endda et officielt kodesniffermodul ved navn Coder.
PHP er utvivlsomt det nemmeste sprog at optimere med kode sniffere. Hvis du leder efter en liste over PHP-kodestandarder Tjek denne GitHub-post.
Andre Backend Code Sniffers
Backend-udviklere arbejder med en række sprog ud over PHP, og tallene vokser hvert år. Med alternative sprog har vi også alternative kode sniffing biblioteker som kode-sniffer til Python.
Det er muligt at kontrollere andre scripts online eller bruge værktøjer som PyLint. Men det er en anden metode, der kræver tålmodighed til at arbejde i din udviklingsstrøm.
Ruby devs har også en række valg når det kommer til kode linting og analyse. De bedste er altid gratis og open source som Ruby Lint, en statisk kodeanalysator bygget til moderne Ruby-kode.
Jeg har endnu ikke fundet en dedikeret Node.js kode sniffer, men jeg håber på et projekt vil dukke op med tiden. Der er JS kode sniffere, der understøtter Node standarder, men det er stadig et nyere backend sprog og kræver tid til at vokse.
Endelig har vi SQL-syntaks anvendt til databaser. Denne kode kan være vanskeligere, da det er svært at finde velunderbyggede syntaksstandarder for SQL-kildekoden. Men jeg fandt en SQL-formatering webapp, som burde vise sig yderst nyttigt, når du optimerer database forespørgsler.
Wrap Up
Det bedste sted at starte kode sniffing er med et sprog og en standard. HTML / CSS er et nemt sted at starte for frontend-udviklere, mens PHP ofte er et yndlingsvalg blandt backend-udviklere (især WordPress devs).
Og hvis du vil lære mere, skal du tjekke disse relaterede stillinger på kode sniffing, linting og automatiseret kodeanalyse til optimering.
- Hvorfor har du brug for kodningsstandarder
- Kode lugter af Jeff Atwood
- PHP kode sniffer: Installation og konfiguration
- Introduktion til CodeSniffer (del 1)
- GitHub Showcase: Rengør kode linjer