01Una pagina per ogni calcolo
Numica non è un’applicazione a pagina singola. Ogni calcolatore vive a un indirizzo proprio e leggibile,
del tipo /calcolatori/lordo-netto, e la pagina viene composta dal server con tutto il contenuto
già dentro: titolo, modulo, spiegazione, formule, fonti normative, domande frequenti, esempio svolto. Un
motore di ricerca, o un assistente conversazionale che cita le fonti, legge la pagina intera senza eseguire
JavaScript.
I calcolatori sono raggruppati in tre categorie, ciascuna con una pagina indice. La home è un indice
di collegamenti, non un contenitore di stato.
02Il motore: una funzione, un contratto
Ogni calcolatore è un singolo file PHP che espone una sola funzione: riceve i campi del modulo e restituisce
una tabella di risultati. Il registro dei calcolatori è un file di configurazione che elenca, per ciascuno,
l’identificativo, il file del motore e i campi del modulo con etichetta, tipo e obbligatorietà. Da quel
registro il sito genera il modulo, la pagina e la lista dei calcoli ammessi.
Il controller accetta soltanto identificativi presenti nel registro e carica il file corrispondente
da quella lista, mai da un valore ricevuto dall’esterno. Aggiungere un calcolatore significa scrivere un
motore, una voce di registro e una voce di contenuti: tre file, nessuna modifica al resto.
03Parametri con fonte, in un solo posto
Scaglioni IRPEF, detrazioni, aliquote contributive, massimali, tassi legali per anno, importi dell’assegno
unico, coefficienti di ammortamento, incentivi alle assunzioni: tutto ciò che cambia con la legge di bilancio
o con una circolare sta in un unico file di parametri, dove ogni blocco riporta la norma o l’atto da cui
proviene. I motori non contengono numeri scritti a mano, li leggono da lì.
L’aggiornamento annuale è quindi un’operazione circoscritta: si modifica il file dei parametri, la suite di
prova mostra quali risultati sono cambiati, si verificano uno per uno, si rigenerano gli esempi nelle pagine.
Le formule mostrate al lettore e quelle eseguite dal server sono le stesse, per costruzione.
04Verifica prima di pubblicare
Ogni calcolatore ha almeno un caso di prova con input e risultati attesi calcolati a mano dalle
fonti, per un totale di cinquantaquattro casi che coprono anche i percorsi d’errore e i formati italiani,
con la virgola decimale e il punto delle migliaia. La suite gira prima di ogni rilascio e di nuovo sul
server dopo la pubblicazione: un rilascio con un caso rosso non va online.
Le semplificazioni adottate sono dichiarate in testa a ogni motore e nella pagina che lo accompagna. Un
calcolatore generale non può sostituire il calcolo di un CCNL specifico o di un’addizionale comunale, e lo
dice prima che qualcuno ci si affidi.