La Separazione delle query di comando è un principio utile, sebbene non sia sempre l'ideale. A volte è necessario eseguire un processo, che si tradurrà in dati utili che è necessario restituire. Il mio caso specifico è caricare un file su un server e ottenere l'ID del file (che è assegnato da un altro sistema su cui non ho alcun controllo).
In termini semplici, la funzione è simile a questa:
def upload_file(filepath):
# Set up filedata with values
result = upload_to_server(filedata)
return result['id']
Non sto discutendo se ignorare o meno il CQS, ma mi chiedo come renderlo particolarmente chiaro a un utente. Ad esempio upload_file
non rende esplicito il valore di ritorno, ma anche get_upload_file
è ambiguo. Una docstring è ovvio per rendere esplicita la funzione per chiunque la legga.
Ma mi chiedevo se ci fossero altri schemi utili che rendano esplicito che una funzione esegue azioni e restituisce un valore. O in alternativa, dovrei concentrarmi solo sul rendere chiaro uno di questi aspetti e non preoccuparti di informare completamente l'utente?