Använda verktyg för kvalitet WordPress utveckling

Att bygga verktyg, teman, plugins och applikationer i WordPress kräver en mängd olika saker om vi vill se till att vi är beväpnade med de bästa möjliga verktygen som behövs.

Om du skulle fråga, säger 10 olika personer vilka verktyg de föredrar, skulle du inte bara få ett brett utbud av svar - saker från IDEs till dependence-hanteringsprogram för att bygga verktyg - men du skulle också ge en mängd olika svar , som alla ger liknande funktioner som vad du behöver.

Exempelvis kan några av de saker du kanske läser om omfatta:

  • Grymta
  • Lövsal
  • Kompositör 
  • CodeKit
  • JSLint
  • … och mer

Detta slår inte ens på ytan av ämnen som webbservrar, databassystem och versioner av PHP. Alla dessa är viktiga ämnen som bör diskuteras, men i sin egen post.

När du arbetar med WordPress, inkluderar några av de icke-förhandlingar som det gäller att få jobbet effektivt på följande sätt:

  1. En IDE
  2. En debugger
  3. Kod Linting och Minification
  4. Versionskontroll
  5. Distributionsverktyg

Som med de flesta saker har utvecklare sina speciella val när det gäller de verktyg som de tycker om att använda och varför de tycker om att använda dem.

I den här artikeln kommer jag att dela några av de verktyg som jag föredrar att använda och som jag har hittat användbart i mina professionella WordPress-utvecklingsinsatser. Jag vill dock förtydliga att detta inte är en definitiv lista över vilka verktyg du skall använda.

Tänk istället på detta som en guide för exempel på vad som utgör kvalitetsverktyg för kvalitetsutveckling. Om du är nöjd med verktyget du använder, så bra! Men om du är ute efter något som kan hjälpa dig att få jobb på ett mer effektivt sätt, så kanske det här hjälper dig att ställa på rätt väg.

Innan vi börjar, vill jag dela med mig att jag använder OS X, så många av mina rekommendationer kommer att baseras på den plattformen. Men många av de program som jag använder har både Windows och Linux motsvarigheter samt verktyg som är öppna källor och är tillgängliga plattform.

1. IDEs

Att ha en IDE för att skriva kod är väsentlig. Visst, vissa utvecklare föredrar något så enkelt som TextEdit eller Notepad ++. Mer makt till dem! Men om du letar efter något med syntaxmarkering, kodfärdigande, support för plugins, S / FTP-integration och jämn versionskontrollintegration, så finns det en mängd olika verktyg som är tillgängliga.

Personligen är mitt IDE val Coda 2.

Denna speciella IDE resulterar i blandade åsikter över hela linjen i WordPress utveckling. Vissa föredrar Atom, vissa föredrar Sublime Text, vissa föredrar Vim, vissa föredrar PHPStorm, och alla har sina styrkor.

Personligen gillar jag Coda 2 för fortsatt support, uppdateringar, mobilvariationer av applikationen och det allmänna utseendet. Jag gillar de framsteg som de har gjort med avseende på stödjande plattformar som WordPress, och möjligheten att ha inbyggd kodfärdighet är trevligt.

Beviljas, andra IDEs erbjuder exakt samma funktionalitet; men om du väljer att gå med Coda, här är några plugins som jag föredrar för WordPress-utveckling. I ingen bestämd ordning:

  • WordPress Mode för Coda 2
  • PHP Docblock Generator
  • Vit ut

Naturligtvis finns det många andra som du kan installera också.

När det gäller andra IDE som du rekommenderar, var snäll och kolla in slutsatsen för att se hur vi skulle vilja integrera dem i kommentarfoderet för det här inlägget.

2. Debuggers

Ett av de kraftfullaste verktygen i en utvecklings verktygslåda är debuggeren. För dem som inte är bekant kan du med denna programvara övervaka vad exakt din källkod gör när det går igenom vad programmet gör under körtid.

Detta ger dig möjlighet att:

  • se vilken funktion som avfyrar
  • se värdena för de olika variablerna
  • steg över vissa funktioner som du vill undvika
  • Gå in i funktioner som du vill se (som WordPress-kärnfunktioner)
  • … och så mycket mer

Många IDE, som PHPStorm, levereras med en debugger inbyggd. Men om du väljer att använda en annan IDE som inte innehåller någon debugger, rekommenderar jag starkt Codebug.

Det är en elegant, lättanvänd debugger som ger dig all kraft i en inbyggd debugger men i en fristående applikation. Det är väl värt prislappen att lägga till din arsenal.

Ett försiktighetsåtgärd: Om du är ny att felsöka och / eller är osäker på hur systemet fungerar, var god och läs dokumentationen. Det är faktiskt relativt lätt att lära sig, men det har sin inlärningskurva. 

När du väl har blivit van vid att använda en debugger, undrar du hur du någonsin levt utan en.

3. Kod Linting och Minification Tools

Kod Linting och Minification Tools kan vara två separata ämnen men idag går de så hand i hand som jag trodde att de var värda att inkludera tillsammans.

ludd

Först för de som är obekanta är linting i princip processen att se till att din kod - i det här fallet, din JavaScript-kod - är upp till en viss standard. Det betyder att det inte använder några dåliga metoder.

Enligt Wikipedia:

lint var namnet som ursprungligen gavs till ett visst program som flaggade några misstänkta och icke-bärbara konstruktioner (sannolikt buggar) i C-språkkällkod. Termen tillämpas nu generellt på verktyg som flaggar misstänkt användning i programvara som skrivs på vilket datorspråk som helst.

I vårt fall har vi verktyg som JSLint och JSHint som tillåter oss att göra exakt det med vår JavaScript-kod.

Du kan definitivt hitta linters för andra språk också, men det är förmodligen det vanligaste fallet där du hittar linting i WordPress, med avseende på JavaScript. Du kan också hitta detta inbyggt i något av de byggverktyg som nämns i början av denna artikel.

minification

Minifiering hänvisar till processen för att ta ett språk - vare sig det är CSS, Sass, LESS, JavaScript, och så vidare - och sedan tar bort alla vittorum, långa variabla namn och så vidare i en mer kompakt fil.

Tanken är inte att skapa förkrossad kod, utan det är att skapa lätta filer som du kan betjäna webbläsaren i en produktionsmiljö så att din webbplats laddas snabbare eftersom den har mindre att ladda ner.

Det finns också begreppet sammanlänkning som överstiger omfattningen av den här artikeln, men tanken bakom sammanfattningen är att alla de minifrerade skript och stylesheets kommer att kombineras i en enda fil så att webbläsaren bara behöver göra två förfrågningar-en för varje fil.

Under alla omständigheter kommer alla verktyg som nämns ovan också att ta hand om att tillhandahålla minifiering (och sammanlänkning) av dina skript och stilar och kommer att mata ut dem i den katalog du väljer.

4. Version Control

När du arbetar med en kodbas, oavsett om det är med dig själv eller med ett team, är det alltid till hjälp att du ser till att du behåller konsekventa versioner av din programvara.

Kort sagt är versionskontroll ett sätt att du kan begå din kod till ett förråd så att de senaste versionerna av koden, som du eller dina lagkamrater ändrar, ändras så att du kan se en historia om vad som hänt gjort och att du kan rulla till någon punkt i tidslinjen ska något gå fel.

I form av Vad programvara är bäst för versionskontroll, det finns verktyg som Subversion, Git och Mercurial.

Om du är van vid jobbet inom WordPress-ekonomin, är du mer än troligt bekant med Subversion eftersom det är vad kärnan använder för att behålla de förändringar som går in i systemet.

På samma sätt, om du någonsin har byggt och släppt ett plugin, måste du arbeta med Subversion för att begå din kod, märka din släpp och så vidare.

Men Git blir alltmer populär. Förmodligen är de två mest populära webbplatserna för Git hosting GitHub och Bitbucket. Hur som helst, om du letar efter en solid Git-klient, rekommenderar jag starkt Tower 2.

Även om det är min klient som valts finns det massor av andra alternativ. I slutändan är det viktigt att du lägger till koden i källkontrollen, jobbar med en klient som du älskar och om möjligt har du anslutit dig till ett installationssystem så att varje gång du tryck på en viss egenskap eller krav, den miljö som kunden använder för att granska produkten uppdateras med den nya koden.

5. Distributionsverktyg

När du jobbar med att bygga ett WordPress-projekt eller något mjukvaruprojekt, så är det vanliga arbetsflödet på hög nivå som vi alla följer:

  • En utvecklingsmiljö där vi har en lokal maskin där vi gör vår utveckling.
  • En scenmiljö som vi använder vår kod för så att kunderna kan hammar på projektet när vi jobbar oss igenom kraven.
  • Och då produktionsmiljön, som är där det slutliga projektet utplaceras.

Vid denna tidpunkt är det inte alls ovanligt att ha ett installationssystem kopplat till källkodshanteringsprogrammet så att varje gång en ny uppdatering är förbunden med källkodförvaret kommer den senaste versionen av projektet att släppas.

Lyckligtvis finns det ett antal bra verktyg som är tillgängliga för att installera automatiska implementeringar.

Codeship

Codeship positionerar sig som en tjänst för kontinuerlig integration som kan utföra nödvändiga skript för att bygga, testa och distribuera ditt projekt allt från en Git commit.

Det innebär att du kan utföra ett antal skript som ska avfyra under implementeringen och ta emot meddelanden innan du rullar ut någonting till produktionen.

Beroende på storleken på ditt team och / eller ditt projekt är Codeship en bra lösning, särskilt för större organisationer som består av ägare, chefer, projektledare och så vidare.

Med detta sagt har jag personligen använt det här verktyget på ett tvåpersons lag och varit nöjd med resultaten.

DeployBot

DeployBot heter tidigare Dploy.io. I likhet med Codeship strävar DeployBot med att ta källkod till ett Git-förråd och distribuera det till en miljö du väljer.

Den har också möjlighet att köra skript, bygga och kompilera kod och distribuera det till olika miljöer baserat på konfigurationen du har angivit.

Naturligtvis är det inte alla installationsverktyg som finns tillgängliga, men det här är två som du sannolikt kommer att hitta när du arbetar i en professionell mjukvarukapacitet. Var och en av dem erbjuder sina egna uppsättningar fördelar och nackdelar för vad du kanske försöker göra. Men eftersom det här inte är en recension eller jämförelsepartikel, lämnar jag den uppgiften upp till dig för att avgöra vad som passar ditt arbetsflöde bäst.

Slutsats

Som nämnts i introduktionen är dessa verktyg inte mer än rekommendationer för var du ska komma igång med några verktyg för WordPress-utveckling. Jag vet att många av er har egna önskemål om vad du tycker om att använda för vart och ett av ovanstående kriterier.

Med det sagt skulle jag älska för er alla att dela med dig av dina föredragna verktyg och varför du tycker om att använda dem i kommentarerna. På så sätt kommer nuvarande och framtida läsare inte bara att ha ett inlägg med rekommendationer, utan också kommentarer som ger alternativ.

När allt kommer omkring handlar det inte bara om problemlösning. Det handlar om att hitta verktyg som också är ett nöje att arbeta med för åtta eller så timmar om dagen vi spenderar på en dator.