coreBOS – Linee guida per lo sviluppo

Il numero di sviluppatori impegnati sul progetto coreBOS cresce (è il bello dell’open source!) e per tutti loro, ma anche per chi finora ha solo accarezzato l’idea di mettere le sue conoscenze all’opera su questo progetto, Joe Bordes ha messo giù alcune importanti linee guida.

Per leggere il post originale in inglese, basta visitare il blog ufficiale di coreBOS!

9c0f3b3905a16f6fd2d24ffd989884414f392a2e-developmentguidelines.jpeg

Nel corso delle ultime settimane, alcuni nuovi sviluppatori si sono aggiunti al progetto coreBOS e alcuni adepti di lungo corso hanno iniziato a collaborare più di frequente. Mi è quindi sembrato che fosse arrivato il momento di mettere giù le regole e le linee guida che cerchiamo di seguire in questo progetto.

È un’idea che mi gira in testa da molto tempo, perché dedico una buona parte del mio tempo a formattare e validare le modifiche sul codice e a richiamare richieste per il progetto.

Consiglio caldamente a tutti gli sviluppatori che vorrebbero dare una mano di leggere queste linee guida e di cercare di aderirvi più possibile, ma non temete: sarò comunque qui per imporle 🙂

Basiamo gran parte del nostro progetto open source sul meraviglioso lavoro fatto da Karl Fogel nel suo libro Producing Open Source Software. Ho quindi seguito le sue raccomandazioni nel creare le Linee Guida per lo Sviluppo di coreBOS.

L’intero set di regole è sul nostro sito di documentazione, ma andiamo a vedere quelle principali.

Dove si può discutere con altri sviluppatori e chiedere una mano?

Questa è semplice: su Gitter!

Unitevi alla conversazione, siamo una community davvero amichevole e disponibile!

Come contribuire e segnalare dei bug

coreBOS è un progetto open source gestito in git su GitHub, quindi il modo migliore per collaborare è seguire il workflow del fork ed usare la GitHub Issue Section per segnalare i bug.

coreBOS is an open source project that is managed in git on GitHub, so the best way to collaborate is to follow the forking workflow and use GitHub Issue Section to report bugs.

Contattatemi se vi serve un aiuto.

Formattazione del codice e della struttura

Qui abbiamo un set di regole che sono un adattamento delle Raccomandazioni Standard PHP-FIG.

Sulla nostra pagina con le linee guida per lo sviluppo cerco principalmente di indicare i punti su cui non siamo allineati a quelle raccomandazioni. Non sono molti e seguendo le loro raccomandazioni in generale non si sbaglia, quindi è fondamentale leggere le linee guida PHP-FIG.

I pochi punti in cui le nostre opinioni divergono sono basati sulle mie preferenze personali e sulla realtà oggettiva del codice base che abbiamo ereditato.

Tenete presente che preferisco il codice compatto, la riduzione delle righe vuote e le tabs al posto degli spazi.

Segnalazione di errori e MySQL Strict

Lo sviluppo deve essere fatto utilizzando error_reporting set to E_ALL e MySQL impostato su Strict Mode.

Questa parte è davvero importante. Abbiamo fatto sforzi notevoli per eliminare tutti i messaggi di avviso nel codice, per permettere ai nostri sviluppatori di lavorare in modo E_ALL e perché i nostri utenti possano installare coreBOS in modalità MySQL Strict.

Questo è per aiutare i programmatori ad evitare errori e creare un codice resistente agli errori. Per esempio, durante il processo di eliminazione ho sistemato alcuni errori che potete vedere qui:

Questo riduce inoltre gli sforzi sul server, in quanto PHP non deve attivare gli avvisi e questo ha un impatto sulle performance.

Se vi capita di imbattervi in una parte di codice che contiene molti avvisi, fatemelo sapere e me ne occuperò.

Tenete presente che le installazioni di produzione devono usare E_ERROR.

Sicurezza

La sicurezza è complicata. È una questione molto complessa ed importante che richiede molto tempo e altrettanta dedizione. Non c’è alcun modo di aggirarla, a parte studiarla e capirne i problemi.

Dedicatele del tempo, leggete, imparate e mettetela in pratica. Costantemente.

Parlatene con noi, condividete le vostre scoperte.

Commit Guidelines

Cerchiamo di seguire le Convenzioni AngularJS per i commit messages. Inoltre, è importante seguire alcuni passaggi prima di emettere un commit:

  • eliminare i messaggi di debug
  • passare un processo lint o, almeno, avviare una convalida di sintassi sul file (php -l)
  • fare tutti i commit necessari per assicurare che le modifiche siano concise e coesistenti (la direttiva git “-p” è vostra amica!)

Ed ora… benvenuti nel processo di sviluppo coreBOS!

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s