Voglio diventare un guru PHP. Dai la cera togli la cera

Agosto era iniziato, un periodo di ferie, aziende chiuse, macchine in manutenzione nessuno che risponde al telefono, probabilità di veder pagata una fattura meno di zero. Non resta che studiare. Questo pensava l’allievo, mentre ancora risuonavano le parole del maestro. “I framework non sono il linguaggio…”.  Iniziamo allora a comprendere queste “raccomandazioni”.

Su un foglio di appunti scrisse queste note:

Primo standard PSR-1, “basic coding standard”.
Questo standard descrive il modo in cui deve essere scritto il codice. La specifica ha degli imperativi (MUST) e dei condizionali (SHOULD). Copre diversi aspetti:

  1. I file php DEVONO usare solo il tag <?php e <?= . Altri tag sono deprecati.
  2. i file DEVONO usare solo Utf8 senza BOM per i file php
  3. nei file si dovrebbero dichiarare sempre i simboli (classi, funzioni, costanti) oppure causare dei “side effects”  (generare output) ma non entrambe
  4. Le classi e i namespace DEVONO rispettare le specifiche sull’autoloading (PSR-0, PSR-4)
  5. I nomi delle classi devono essere dichiarate in  StudlyCaps
  6. Le costanti devono essere dichiarate in maiuscolo COSTANTE = valore
  7. I nomi dei metodi devono essere chiamati in camelCase

 

Per chi vuole farsi del male esistono dei tools per verificare se il codice scritto è compatibile con le raccomandazioni. Di seguito alcuni link interessanti.

Con questi strumenti è possibile verificare se il codice scritto rispetta il coding standard dichiarato. Per dare ancora un po’ di cera e toglierne altra alcuni link sul coding standard definito dagli sviluppatori.

Magento1 coding standard

Dalla documentazione ufficiale non emerge nulla rispetto agli standard. Dovrebbero essere compatibili con psr-1 e 2. Un buon punto di osservazione e dei metodi di standardizzazione sono disponibili qui (http://standards.meanbee.com/)

Magento2 coding standard the better way

Magento 2 ha una sezione della documentazione dedicata agli standard. (http://devdocs.magento.com/guides/v2.1/coding-standards/bk-coding-standards.html). Copre lo standard di scrittura dell’intero framwork, php, javascript, less, html). Magento2 ha un approccio “filosofico” allo sviluppo. In alcune parti del framework si possono vedere delle indecisioni sulle scelte. Ha avuto una spinta forte nel primo rilascio. In questo momento, ad Agosto 2016 magento 2 si sta sempre più consolidando.

Yii2 simple is better

A me yii2 piace. Molti vedono dei difetti in questo framwork, io ne vedo molti pregi. Soprattutto per creare dei prototipi veloci. Qui sono presenti dei tool forniti direttamente dagli sviluppatori per verificare l’aderenza agli standard. (https://github.com/yiisoft/yii2-coding-standards)

Laravel artigiani del web

Il progetto laravel è molto seguito soprattutto per la sua semplicità e pulizia. Laravel aderisce a psr-2 e 4. (https://laravel.com/docs/5.1/contributions#coding-style).

Per finire un bel tool per verificare il proprio codice e correggerlo. (https://styleci.io/).

Dai la cera e togli la cera. Sono solo all’inizio ma l’avventura si fa interessante. Aderire ad uno standard è come aderire ad una scuola di pensiero. Per ora queste sono delle regole accettate un più o meno da tutti. Conoscendo la pratica non sarà sempre tutto così lineare.

Era stanco, una leggera brezza entrava dalla finestra del suo appartamento. Qualche zanzara lo pungeva per ricordagli le sue umane fattezze. Dai la cera e togli la cera, il primo standard era chiaro e descrittivo. D’ora in poi avrebbe aderito e se possibile corretto il codice legacy che violava apertamente questo standard.

 

Lascia un commento