Sto imparando i principi SOLID in un corso di Pluralsight in cui è in discussione la separazione delle query dei comandi. Sto bene con le funzioni di query che restituiscono qualcosa (e in modo cruciale essendo non mutanti).
La domanda che ho riguarda i comandi. L'idea qui è che i comandi dovrebbero restituire il nulla. Cosa succede se c'è un problema nell'esecuzione del comando? Alcune funzioni che potrebbero essere mutanti restituiscono un codice risultato. Questo idioma è abbastanza comune nei programmi in C. Quindi, come risolverlo.
Devi supporre che queste funzioni dovrebbero sempre avere successo? O dovrebbe sollevare un'eccezione se la funzione non riesce?
Come lo gestiresti se la lingua non supporta le eccezioni, ad es. C?
Qualche commento?