temp
This commit is contained in:
1 parent
61efbb0e37
commit
c5e7daa9c7
15 files changed
+4514
-1172
No files matched your search
@@ -11,8 +11,9 @@ Ogni regola verificabile ha un **identificativo stabile**, nella forma
|
||||
seguito dai riferimenti all'implementazione e, dove esistono, ai test:
|
||||
|
||||
```markdown
|
||||
- **[RND-11]** Alla scadenza il round passa subito a `closing`: da quel momento
|
||||
nessuna scommessa è più accettata.
|
||||
- **[RND-11]** Al primo passo dello scheduler successivo alla scadenza il round
|
||||
passa a `closing`; le scommesse sono però rifiutate già dall'istante della
|
||||
scadenza ([BET-04]).
|
||||
*Codice:* `app/rounds/scheduler.py:RoundScheduler._tick` ·
|
||||
*Test:* `tests/unit/test_scheduler.py`
|
||||
```
|
||||
@@ -28,6 +29,41 @@ Regole della convenzione:
|
||||
mai numeri di riga (cambiano a ogni modifica).
|
||||
- Il testo descrittivo che non contiene regole (introduzioni, spiegazioni,
|
||||
esempi) non ha identificativo.
|
||||
- **Un solo proprietario per regola.** Ogni regola ha l'identificativo in un
|
||||
solo documento; gli altri documenti che la citano rimandano a quell'ID
|
||||
invece di ripeterla con un ID proprio. Il documento di dominio (round,
|
||||
scommesse, transazioni…) è proprietario del comportamento, `DAT` dello
|
||||
schema, `SEC` delle soglie di sicurezza.
|
||||
- **Niente formulazioni vaghe nelle regole.** "Circa", "normalmente", "prima o
|
||||
poi" non compaiono in un requisito: si scrive la condizione esatta, con il
|
||||
nome della costante.
|
||||
|
||||
### Requisiti non ancora implementati
|
||||
|
||||
La specifica può essere più avanti del codice: è il caso normale fra il passo 1
|
||||
e il passo 3 del ciclo qui sotto. Un requisito che il codice non soddisfa
|
||||
ancora porta, subito dopo i riferimenti, una riga di stato e una che dice cosa
|
||||
fa il codice oggi:
|
||||
|
||||
```markdown
|
||||
- **[RND-33]** L'altezza del blocco di estrazione è fissata all'ingresso in
|
||||
`drawing` come `tip_at_close + 1` e non cambia più.
|
||||
*Codice:* `app/rounds/scheduler.py:RoundScheduler._close_and_draw` ·
|
||||
*Test:* —
|
||||
*Stato:* da implementare (B-73) · *Oggi:* si usa la punta vista al primo
|
||||
controllo utile, che può essere un blocco successivo.
|
||||
```
|
||||
|
||||
- *Codice* indica dove andrà l'implementazione (il file o la funzione
|
||||
esistente più vicina); *Test* è `—` finché il test non esiste.
|
||||
- Il B-nn rimanda alla voce di [BUGS.md](../BUGS.md) che descrive la
|
||||
correzione; l'ordine di implementazione è in
|
||||
[piano-correzioni.md](piano-correzioni.md).
|
||||
- Quando il codice viene implementato, nello stesso commit si tolgono le righe
|
||||
*Stato* e *Oggi* e si completano *Codice* e *Test*. `git grep "da
|
||||
implementare"` elenca in ogni momento tutto ciò che manca.
|
||||
- Un requisito modificato (non nuovo) mantiene il suo identificativo: il testo
|
||||
descrive il comportamento atteso, *Oggi* quello attuale.
|
||||
|
||||
### Prefissi
|
||||
|
||||
|
||||
Reference in new issue
Block a user