openstamanager/.github/STANDARD.md

29 lines
1.7 KiB
Markdown
Executable File

# 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.