I know what object manager is. I know why it is used. I know that as a general rule it shouldn't be used. I know why from reading this. https://devdocs.magento.com/guides/v2.3/extension-dev-guide/object-manager.html#exceptions.
Then I see code like this
public function __construct( [...] $this->scopeConfig = $scopeConfig ?: ObjectManager::getInstance()->get( ScopeConfigInterface::class ); [...] }
Which seams like an elegant way of doing it. Especially in something so abstract. So my questions are this:
a) Is the above still considered bad practice?
b) In this purely to maintain backward compatibility? Or is there another reason?