Calitatea construcției în proiectele WordPress un exemplu practic

Unul dintre cele mai bune lucruri despre învățarea unei noi abilități în domeniul software-ului este că deseori suferiți acest proces de a obține ceva de lucru, de a învăța despre câteva din greșelile pe care le-ați făcut, de a rafina codul și apoi de a repeta procesul.

În cele din urmă, este vorba despre îmbunătățirea calității a ceea ce faci, astfel încât rezultatul final să fie mai bun decât ar fi fost dacă l-ai lăsat doar așa cum era în prima sa iterație.

Și, într-adevăr, atunci când vine vorba de scrierea de software, unul dintre lucrurile pe care le auzim adesea și despre care vorbim adesea este calitate. Mai exact, vorbim despre calitatea construcției în software-ul nostru. 

Dar presupunem că dacă întrebați zece dezvoltatori ce înseamnă calitate pentru ei, veți primi zece răspunsuri diferite.

Cuvântul "calitate" oferă trei definiții:

  1. Cât de bun sau rău este ceva,
  2. O caracteristică sau o caracteristică pe care cineva sau ceva le are: ceva care poate fi observat ca parte a unei persoane sau a unui lucru,
  3. Un nivel ridicat de valoare sau excelență.

Dacă credeți pentru o clipă cum se referă la produsele pe care le construiți folosind WordPress, ceea ce vine în minte?

  • Este organizarea fișierelor care vă compun proiectul?
  • Este cât de bine codul dvs. este conform standardelor de codare WordPress?
  • Are legătură cu cât de bine ați urmat cele mai bune practici ale paradigmei pe care ați ales-o?
  • Poate e vorba de toate cele de mai sus; poate este ceva ce nu este listat. 

Indiferent de situație, "calitatea" poate însemna lucruri diferite pentru diferite persoane. Dar cred că există anumite lucruri care nu sunt subiective în ceea ce privește dezvoltarea WordPress.

Calitatea și dezvoltarea WordPress

Înainte de a merge mai departe, aș vrea să menționez că atunci când citez pe altcineva, cu excepția cazului în care este o sursă binecunoscută, îmi place să păstrez sursa anonimă.

Motivul este că nu vreau ca oamenii care citesc astfel de tutoriale să fie urmăriți lateral și să încerce să se confrunte cu ceea ce persoana a spus. Pe lângă asta, știți?

Și asta se întâmplă. Vorbesc din experiență.

Cu asta mi-a spus că recent cineva ma apropiat de un cod care mi-a oferit să lucrez cu cârligele WordPress când creează teme. Pe scurt, ei au spus:

Spunând mai multe linii de cod este mai bună decât mai puțin este ceva doar un hard-core, anotimpuri dezvoltator WordPress ar spune. Mai puțin codul, cu atât mai bine.

Pentru pasionați și pentru cei care învață doar funiile de dezvoltare, pot vedea cum ar părea adevărat acest lucru. Pentru cei care lucrează pe teren pentru un timp, probabil că recunoașteți problema cu acest lucru.

Nu pretind că mai mult cod este întotdeauna un cod mai bun. Nu este. În schimb, sugerez că există momente în care o funcție întreagă este mai bună decât o singură linie de cod.

Cum construim acest lucru în munca noastră? Cum putem transmite acest lucru celor care sunt mai puțin experimentați? Să aruncăm o privire la un exemplu concret și să vedem dacă este ceva de găsit din ea.

Un exemplu: Cum se obține calitatea filtrelor

În WordPress 4.4, suportul pentru etichetele de titlu a fost modificat astfel încât să adăugați suport pentru acesta prin includerea pur și simplu a liniei următoare în functions.php fişier:

Dacă nu doriți să utilizați funcția respectivă, vi se va cere să definiți codul titlu element în șablonul antetului temei. 

Desigur, există pluginuri și teme care nu au fost încă actualizate (în momentul acestui tutorial). În acest scop, este încă destul de frecvent să vedeți ceva asemănător cu următoarea linie de cod în fișierele șablon:

<?php wp_title("); ?>

Dar de ce s-ar deranja cineva cu titlul? Gândiți-vă la pluginurile SEO. Ele se vor schimba adesea titlu elementele pentru a fi mai prietenoase cu motoarele de căutare.

Să aruncăm o privire la un exemplu din lumea reală: Spuneți că lucrați la o temă și la ea titlu elementul include un apel către wp_title. Mai mult, vrei să te asiguri că wp_title este filtrabil, astfel încât un alt cod, cum ar fi plugin-urile menționate anterior, îl poate actualiza.

Pare destul de clar, nu? Dar să presupunem că doriți să vă îmbraciți puțin prin includerea unui separator și actualizarea poziției sale. În acest caz, puteți face ceva de genul:

<?php wp_title( '|', true, 'right' ); ?>

Sau poate doriți să faceți un pas mai departe și să introduceți numele blogului și descrierea acestuia. Sau poate doriți să configurați titlul astfel încât să fie diferit pe pagina principală. 

Apoi, puteți face așa ceva:

<?php bloginfo('name'); ?> | <?php is_home() ? bloginfo('description') : wp_title("); ?>

În izolare - în afara oricăror pluginuri sau alte lucrări - aceasta arată bine. Este o singură linie de cod pe care hobbyștii o pot folosi pentru a-și atinge scopul final.

Dar ce se întâmplă atunci când cineva distribuie tema? În plus, ceea ce se întâmplă când cineva dorește să utilizeze un plugin pentru a modifica titlu element?

Nu va funcționa.

Acesta este doar un motiv pentru care codul mai mic nu este întotdeauna un cod mai bun și de ce codul mai mic poate fi de o calitate mai mică.

Mai mult cod, mai multă calitate

Pentru a vă asigura că utilizarea wp_title () este cât mai flexibil posibil, trebuie să definim o funcție personalizată și să o filtram folosind wp_title filtru furnizat de WordPress:

= 2 || $ page> = 2) $ title = sprintf (__ ('Pagina% s', 'acme'), max ($ paged, $ page)). "$ sep $ title";  return $ title; 

Codul de mai sus este evident mai mult decât linia unică din exemplul anterior, dar este și mai flexibil.

În primul rând, codul verifică dacă pagina este randată într-un feed RSS. Dacă da, returnează doar titlul specificat. În caz contrar, acesta adaugă numele titlului la cel specificat titlu $ şir. Când vizualizați pagina de pornire sau prima pagină, codul plasează descrierea după separator.

În cele din urmă, în cazul în care utilizatorul face paginări prin site, codul prefixează numărul paginii la separator și titlu.

Aceasta oferă funcționalitatea de bază pentru redarea elementului titlu în cadrul temei. Acesta nu este modul implicit de a face acest lucru pentru toate temele, dar este, probabil, o modalitate mai bună de a face acest lucru. 

Ca atare, puteți personaliza, de asemenea, această funcție pentru a se potrivi cu ceea ce credeți că este mai bine pentru propria dvs. activitate.

Aceasta este calitatea?

Noastra de bază a acestui tutorial nu este cum să configurați un filtru pentru titluri sau cum să configurați filtre și nici cum să gestionați titlurile. in afara de asta, wp_title este depreciat, așa cum am menționat mai devreme în articol.

Încheiem cu o versiune personalizată a titlului. De asemenea, oferim dezvoltatorilor terți posibilitatea de a suprascrie propriul cod.

Deși acest cod este mai mult, este o soluție de calitate superioară.

Concluzie

Amintiți-vă, totuși: Nu este întotdeauna cazul. Uneori, mai mult cod poate sa reducerea calității și a acesteia poate sa crește complexitatea. Dar acest lucru nu este punctul din acest articol. Poate că este cel mai bine discutat într-un alt tutorial.

În schimb, scopul acestui tutorial este de a arăta cât de puțin cod poate avea ca rezultat o calitate mai scăzută și modul în care un cod mai poate îmbunătăți calitatea. Dar aceasta nu este o regulă tare și rapidă. Nici nu ar trebui să fie.

În schimb, intenția este de a introduce o mentalitate a gândirii prin ceea ce definește calitatea. Uneori, codul mai mic este codul de calitate; uneori, mai mult cod este codul de calitate.

Când lucrați la proiectul dvs., nu căutați modalități de consolidare a codului doar din motive de cod mai puțin. Căutați modalități de scriere a codului, astfel încât acesta să fie elegant, extensibil, ușor de citit și întreținut și, mai presus de toate, să se potrivească scopului. 

Toate cele de mai sus împreună contribuie la calitate.

Dacă sunteți în căutarea unor exemple de alte proiecte WordPress care pot fi utilizate pentru a examina calitatea codului, a utiliza în munca dvs. sau în proiecte client, puteți găsi, de asemenea, ceva interesant pe piață.

Dacă sunteți interesat de alte lucruri pe care le-am scris sau le-ați produs pentru Envato, puteți verifica munca mea pe pagina mea de profil și puteți să mă urmați pe blogul meu și / sau pe Twitter la @tommcfarlin unde vorbesc despre dezvoltarea de software în contextul WordPress.

Nu ezitați să lăsați întrebările sau comentariile în feedul de mai jos și mă voi adresa fiecăruia.

Cod