slardiaardvark

joined 2 years ago
46
submitted 9 months ago* (last edited 9 months ago) by slardiaardvark to c/programming
 

For non-trivial reviews, when there are files with several changes, I tend to do the following in Git:

  1. Create local branch for the pr to review
  2. Squash if necessary to get everything in the one commit
  3. Soft reset, so all the changes are modifications in the working tree
  4. Go thru the modificiations "in situ" so to speak, so I get the entire context, with changes marked in the IDE, instead of just a few lines on either side.

Just curious if this is "a bit weird", or something others do as well?

(ed: as others mentioned, a squash-merge and reset, or reset back without squashing, is the same, so step 2 isn't necessary:))

[–] slardiaardvark 1 points 2 years ago (1 children)

What is the precise expected behavior here?

Oh just because the docs said "The null-conditional operators are short-circuiting" and "the rest of the chain doesn’t execute" I wondered, if the object is null, it would just skip executing the assignment completely. Didn't have high hopes, but thought I'd ask just in case, as it would be kinda handy as well. Probably pretty rarely though.

[–] slardiaardvark 1 points 2 years ago

Bummer, thought that might be the case, but was wishing it wasn't because it seemed quite nice to avoid the ifs there as well.

 

With regards to null conditional operators, calling properties and methods will work fine, e.g.:

HttpContext.Current?.Response.Clear();

But I'm wondering if assignment is possible? I get this error when trying to do this:

HttpContext.Current?.Response.ContentType = "text/json";

The docs say:

The null-conditional operators are short-circuiting. That is, if one operation in a chain of conditional member or element access operations returns null, the rest of the chain doesn't execute.

So wondering if it's possible and I'm doing it wrong, or am I taking "does not execute" too literally? :)