Whilst this is indeed a bad approach, I can provide a possible solution as to how this works.
My guess is, your previous developer is assigning some view properties early in the dispatch cycle, possibly even in Bootstrap, eg
// Bootstrap.php
protected function _initGlobalViewProperties()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->abc = 'abc';
}
Whilst there's really no issue with doing this, the view shouldn't be relied upon to provide resources to the controller. A better approach would be to create an application resource which is available to all controllers.
In Bootstrap.php...
protected function _initAbc()
{
$resource = 'abc'; // can be anything
$this->bootstrap('view');
$view = $this->getResource('view');
$view->abc = $resource;
return $resource; // adds resource into Application registry
}
and in your controller...
$abc = $this->getInvokeArg('bootstrap')->getResource('abc');