Stiamo lavorando a un progetto utilizzando Google App Engine + Google Cloud Datastore. Il linguaggio utilizzato è Python.
In alcuni punti della nostra API, controlliamo se qualche argomento è passato in richiesta, e facciamo qualche query sul database se arg non è nullo.
Esempio:
result = None
if request.name != '':
result = ndb.Key('Users', request.name).get()
else:
return "Missing args."
Siamo tutti d'accordo a non effettuare query se non ci sono dati da interrogare. Tuttavia, il metodo get
restituisce null se non è stato trovato alcun risultato. In questo specifico scenario, App Engine + Datastore, non potremmo evitare il principio di non effettuare alcune query non necessarie in favore di ridurre complessità ciclomatica del codice? Il mio punto è che tutti i nodi dell'architettura (app server, database, ecc.) Sono in un'infrastruttura bilanciata, il costo di una semplice query è davvero importante?
Esempio:
result = ndb.Key('Users', request.name).get()
if result:
print 'Keep running...'
else:
return "User not found."
Ovviamente questa è una parte molto piccola del codice per parlare di complessità.