Il titolo potrebbe essere un po 'vago, quindi lasciatemi spiegare. Supponiamo di avere una funzione che fa qualcosa (cambia stato del programma), ad esempio una funzione che crea un file. Questa funzione restituisce True se il file è stato creato e False se il file non è stato creato.
Ora, vogliamo usare quella funzione in un condizionale, ad esempio:
if (createFile() == false)
// log: we cannot create file
E possiamo anche farlo nel seguente modo:
boolean fileCreated = createFile()
if (fileCreated == false)
// log: we cannot create file
La domanda è se il primo caso è peggio del secondo in termini di leggibilità e chiarezza e quale si consiglia di utilizzare?
Il mio ragionamento è che, poiché qualcuno che legge il codice potrebbe non avere familiarità con gli interni della funzione, nel primo caso potrebbe presumere che la funzione createFile () non altera lo stato (poiché spesso queste funzioni sono funzioni di predicato)?