De WordPress-coderingsnormen inkeping, gebruik in de ruimte en achterliggende spaties

Het volledige doel van deze serie om de WordPress-coderingsstandaarden bloot te leggen, waarom ze van belang zijn en hoe WordPress-code van goede kwaliteit te schrijven. Om dit te doen, nemen we een diepgaand onderzoek naar elk onderdeel van de WordPress coderingsstandaarden.

Tot nu toe hebben we het volgende behandeld:

  • Naamconventies en functieargumenten
  • Enkele offertes en dubbele aanhalingstekens

Vandaag gaan we het belang van de witte ruimte onder de aandacht brengen. We gaan specifiek inspringen, ruimtegebruik en volgspaties behandelen. Hoe gemakkelijk het ook klinkt, dit zijn enkele van de meest genegeerde of misbruikte aspecten van de coderingsnormen.


Een woord over witruimte

Voordat we kijken naar wat er aan de hand is met de verschillende coderingsnormen, is het belangrijk om te begrijpen waarom witte ruimte niet alleen belangrijk is in WordPress, maar ook in programmeertalen in het algemeen.

Simpel gezegd, het komt omdat het de leesbaarheid verbetert.

Dit is de reden waarom sommige programmeertalen gescheiden van ruimte of tab zijn. Daarom vragen sommige programmeertalen dat u bepaalde delen van de code wegruimt, zoals functieparameters, array-indexen en meer.

Als het om WordPress gaat, zijn de conventies niet alleen voor leesbaarheid, maar ook voor een consistente lees- en ontwikkelervaring voor iedereen die werkt aan WordPress-thema's, plug-ins, applicaties of de kernapplicatie zelf.

Onthouden: Het doel van coderingsstandaarden is om ervoor te zorgen dat de broncode eruitziet alsof deze is geschreven door een enkele ontwikkelaar, omdat deze een niveau van verwachtingen stelt aan bijdragende ontwikkelaars.


deuk

Wat betreft inspringen is er niets bijzonders nieuw, revolutionair of anders als het betrekking heeft op WordPress. Over het algemeen wordt elke keer dat u een nieuw blok start, ingesprongen.

Dit betekent dat:

  • Uw functies worden ingesprongen in de klas
  • Je conditionals en switch / cases en andere blokken worden ingesprongen binnen hun functies
  • Je loops zullen worden ingesprongen binnen hun functies, binnen hun conditionals, enzovoort

Als je gewend bent om code te schrijven in C-stijl talen, dan is er hier niets bijzonders nieuw?

Een voorbeeld van hoe dit eruit kan zien, is precies dit:

 functie foo ($ argumenten) if (0 < count( $arguments )  foreach ( $arguments as $arg => $ waarde) echo $ waarde; 

Volgens de coderingsnormen:

Uw inspringing moet altijd een logische structuur weergeven. Gebruik echte tabbladen en geen spaties, omdat dit de meeste flexibiliteit tussen klanten mogelijk maakt.

De belangrijkste afhaalpunten zijn dat het begin van regels moet beginnen met tabbladen en dat de code a moet weergeven logisch structuur. Overcompliceer of probeer dingen niet te simplificeren.

Binnen de coderingsstandaarden van WordPress is er nog een andere nuance to white space: tabs moeten aan het begin van de regel worden gebruikt, maar spaties moeten overal elders worden gebruikt. Voor het grootste deel is dit een eenvoudige regel om te volgen; In WordPress maak je echter vaak arrays om als argumenten door te geven.

Idealiter willen we dat elke index van de array op één lijn ligt, zodat de leesbaarheid zo hoog mogelijk is, maar we hebben vaak de neiging om tabbladen te gebruiken om het gemakkelijker te maken om ze in een rij te plaatsen, maar dit is feitelijk een overtreding van de coderingsnormen.

 $ args = array ('ID' => 1, 'post_title' => 'De titel', 'post_content' => 'De inhoud');

Zorg er dus voor dat je enkel en alleen gebruik tabs aan het begin van elke regel.


Ruimtegebruik

Wat betreft WordPress heb ik ontdekt dat ruimtes veel royaler zijn gebruikt dan in andere talen. Ik zeg dit niet simpelweg als een observatie, omdat het een persoonlijke aanpassing was die ik moest maken om zowel van .NET als van Ruby te komen.

Dat gezegd hebbende, zoals met de meeste andere richtlijnen in de Codex, is er niets dat bijzonder complex is; Er zijn echter enkele belangrijke verschillen die moeten worden onthouden bij het schrijven van code.

Spaties moeten op de volgende plaatsen worden geplaatst:

  • Na komma's
  • Aan beide kanten van logische operatoren (dat wil zeggen, ||, &&, en !)
  • Aan beide zijden van vergelijkingsoperatoren (dat wil zeggen, <, >, ==, ===, enz.)
  • Aan beide zijden van toewijzingsoperatoren (te weten =)
  • Aan beide zijden van het haakje openen en sluiten van functies, conditionals, loops, enzovoort.
  • Wanneer een variabele wordt doorgegeven als een index van een array, maar niet wanneer een letterlijke waarde (zoals een tekenreeks of een geheel getal)

De meeste hiervan zijn relatief eenvoudig, maar in mijn ervaring heb ik ontdekt dat de array-regels de meeste verwarring bij ontwikkelaars veroorzaken, dus hier is een korte opmerking over wat als correct wordt beschouwd en wat niet:

 // Juiste spatiëring ... $ arr [$ x] = 'foo'; $ arr [0] = 'balk'; // Onjuiste spatiëring ... $ arr [$ x] = 'balk'; $ arr [0] = 'balk';

Zoals je kunt zien, is het niets erg ingewikkelds maar het is een relatief eenvoudige conventie om te missen.


Trailing Spaces

Deze regel is waarschijnlijk de gemakkelijkste standaard om alles te onthouden. Simpel gezegd, aan het einde van een regel code mogen geen volgspaties achterblijven.

Afhankelijk van uw IDE is dit filter mogelijk ingebouwd; soms moet u een plug-in installeren die deze actie voor u uitvoert wanneer u het bestand opslaat. Maar wat het geval ook is, het is een relatief eenvoudige functie om te integreren in elke IDE die u gebruikt.

Bovendien moeten de meeste editors - ongeacht of het een veredelde teksteditor is of een volledige IDE - de mogelijkheid hebben om de weergave van tabbladen en spaties in te schakelen.

Tabbladen en witruimte weergeven in Coda 2

Nogmaals, dit is een van de eenvoudigste conventies die moet worden gevolgd en het is waarschijnlijk dat je IDE of editor naar keuze deze functie of een plug-in beschikbaar heeft waarmee je dit automatisch kunt doen.

Als dit niet het geval is, moet u de mogelijkheid hebben om tabs, spaties, regelterugloop enzovoort te bekijken, zodat u eenvoudig kunt identificeren waar de achterliggende spaties zijn.


Conclusie

Vanzelfsprekend speelt witte ruimte een belangrijke rol bij het schrijven van op WordPress gebaseerde code. In dit artikel hebben we inspringing, tabs, spaties en volgspaties verkend en waarom en hoe deze in onze projecten te verwerken.

In het volgende artikel gaan we verder praten over de subtiliteiten van de WordPress coderingsstandaarden door te kijken naar brace-stijl, reguliere expressies en de nuances van het gebruik van PHP-tags via onze WordPress-code.