I usually write code to help local debug-ability (which seems rare). For example, this allows one to trivially set a conditional breakpoint and look into the full response:
response = get_response()
response = response.json()
The fact that the first response is immediately overwritten proves to the reader it's not important/never used, so they can forget about it, where a temp variable would add cognitive load since it might be used later.and I think is just as clear as this:
response = get_response().json()
This motivated by years of watching people through code, and me working with deeply non-software engineers, and is always very much appreciated. get_response().json()
is ideal, and I'm assuming yoiu're writing an HTTP wrapper since decoding JSON is a sensible default.If you need to add an intermediary variable, name it as clearly as possible:
raw_response = get_response()
response = raw_response.json()I strive to write code that reduces cognitive load. To me, putting it in a temp variable is more of habit of old languages, mixed with a bit of cargo cult.
If you do want an intermediate variable, naming it non-deceptively will reduce cognitive load. If you don't want one, that's fine too. There's no deception with a name that doesn't exist.
Are you suggesting that the results of calculations should always be some sort of primitive value? It's not clear what you're getting hung up on here.