[] 54 [[https://doc.wikimedia.org/mediawiki-core/master/php/GlobalFunctions_8php.html#a46345f25555fd93d272119932fbfc18f|wfGetDB()]] (use LoadBalancer::getConnection() on an injected instance of LoadBalancer instead)
[] [[https://doc.wikimedia.org/mediawiki-core/master/php/classRecentChange.html#ae494a187d8d3adc3c641db04aeb06d83|$rc->getTitle()]] (use getPage() instead)
[] [[https://doc.wikimedia.org/mediawiki-core/master/php/classArticle.html#a5be006a9f50f394de766b2d432542c23|$article->mParserOutput]]
[] [[https://doc.wikimedia.org/mediawiki-core/master/php/classUser.html#a6488ecff829e3ba2fc024f067b9aaaf6|User::newFromID()]]
[] $page->doDeleteArticleReal() (Use DeletePage instead. Calling ::deleteIfAllowed and letting DeletePage handle permission checks is preferred over doing permission checks yourself and then calling ::deleteUnsafe. Note that DeletePage returns a good status with false value in case of scheduled deletion, instead of a status with a warning. Also, the new method doesn't have an $error parameter, since any error is added to the returned Status.)
[] $page->doUserEditContent() (use PageUpdater::saveRevision instead. Note that the new method expects callers to take care of checking EDIT_MINOR against the minoredit right, and to apply the autopatrol right as appropriate.)
[] Add these to static code analyzer CI? to prevent these from coming back
Note: Refactoring will be safer once we have some happy path Selenium tests up and running (T320924)