Speravo potessi dare un feedback su un'idea che avevo per la progettazione di funzioni.
Sto cercando di pensare a un principio unificatore per scegliere quali funzioni dovrebbero tornare. Il progetto specifico è per lo più classi di accesso ai dati.
Quindi il principio è questo: "Quando decidi quale valore restituire come codice di stato, True o False, scegli di tornare True se lo stato desiderato è raggiunto."
Ad esempio, se hai effettuato una chiamata a remove_email ('email') e l'email che hai passato come argomento non era nell'elenco, restituisci True perché lo stato desiderato, quello in cui l'email non è nel database , ora esiste. Un principio alternativo potrebbe essere, restituire sempre False se non viene eseguita l'esatta funzionalità. Mi piace rimuovere quando l'e-mail non esiste o la tabella non esiste.
Penso che un principio unificante del genere sarebbe utile per creare una mentalità condivisa nel codice in cui tutti possiamo utilizzarla come principio guida.
Quindi, prima, puoi dirmi se il principio stesso è una buona idea? Una funzione dovrebbe restituire True se in realtà non fa ciò che pretende di fare, come rimuovere un oggetto? E se questo è un cattivo principio, c'è qualche altro principio o insieme di principi che sono accettati come buoni standard? Invia sempre un codice di errore se il comportamento esatto non corrisponde? Restituisci sempre False? ecc.
E secondo, è comune avere filosofie di design comuni come questo nelle basi di codice? È così, potresti fornirmi qualche esempio? La cosa più vicina che viene in mente è la filosofia Unix secondo cui un programma dovrebbe fare una cosa e una sola cosa. Ma questo è più un principio di progettazione di livello superiore che un principio di implementazione.
Mi scuso se questa non è una buona domanda, ma sto cercando di imparare e sviluppare una strong comprensione fondamentale e voglio gestire queste idee con programmatori più esperti per ottenere feedback.