The other procedural languages you mention may not have a direct implementation of "null contagion", but languages that are reasonably reflective would allow attempted attribute access and catching a failure thereof. For example, in Python:

try: name = product.offering.merchant.name
except AttributeError: name = None

displayMerchantName(name)

"Narrative mismatch" - nice phrase !
A reasonably common smell, which will be easier to find now that I have a concept for it.

Reply

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 5 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.