2 ms·
I would never do `response = response.json()`. I use it when it's effectively the same type, but with further processing which may be optional.
by nixpulvis 1y ago
I would never do `response = response.json()`. I use it when it's effectively the same type, but with further processing which may be optional.
- nomel 1y agoDepends on how clear it is. 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.
- nailer 1y agoget_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()
- nomel 1y ago> 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. 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.
- nailer 1y ago> To me, putting it in a temp variable is more of habit of old languages 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.