Aggiunto standard del codice

This commit is contained in:
Thomas Zilio 2018-10-01 19:03:08 +02:00
parent 65f3a0f4f6
commit 76b2a86141
2 changed files with 33 additions and 0 deletions

View File

@ -18,6 +18,11 @@ Se ti serve un aiuto, crea una issue su GitHub.
Per migliorare il sistema con cui sviluppiamo il codice, abbiamo deciso di adottare alcune linee guida per facilitare la collaborazione tra più persone.
### Standard del codice
Per lo standard ufficiale riguardante i nomi e le strutture da utilizzare, visita la sezione [Standard](STANDARD.md).
### Codice di condotta
Per il momento non abbiamo adottato un vero e proprio codice di condotta, ma ti chiediamo di essere il più civile possibile nel comunicare con gli altri per questo progetto.

28
.github/STANDARD.md vendored Normal file
View File

@ -0,0 +1,28 @@
# Standard del codice
Lo standard prevede l'utilizzo di nomi in italiano per la maggior parte dei contenuti, esclusi i sistemi di gestione interna del gestionale (tabelle `zz_*` e codici particolarmente rilevanti).
I nomi delle variabili devono seguire uno standard comune, che prevede la sostituzione degli spazi con `_` (*underscore*) e la rimozione delle lettere accentate a favore di quelle semplici.
Le variabili devono possedere nomi completi e chiari.
Esempio:
- Partita IVA -> `partita_iva` nel database, `$partita_iva` in PHP
## Database
Gli identificatori devono iniziare per `id_*` e i flag per `is_*`.
E' fondamentale ricordarsi di impostare correttamente le **FOREIGN KEYS** delle relative tabelle.
Ci sono inoltre alcuni campi utilizzati in modo riccorrente all'interno del gestionale:
- `default boolean NOT NULL DEFAULT 0` per i valori di default, non cancellabili e con modificabilità limitata
- `predefined boolean NOT NULL DEFAULT 0` per i valori predefiniti in selezioni o gruppi
- `visible boolean NOT NULL DEFAULT 1` per nascondere gli elementi
- `deleted_at timestamp NULL DEFAULT NULL,` per segnare un elemento come eliminato
Per tabelle non presenti all'interno della lista ufficiale di OpenSTAManager (file **update/tables.php**), è necessario inoltre provvedere all'aggiunta dei seguenti campi:
- `updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`
- `created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP`
## Note
Malgrado una buona parte del codice ufficiale non segua completamente queste buone pratiche, è consigliato l'implementazione di queste linee guida per nuove funzioni e strutture mentre il sistema di base viene lentamente standardizzato.