Create coding tools to aid module developers with migration
As the official release of Silverstripe 4 continues to get closer, more and more developers will be migrating their modules over to the new SS 4 system. I believe silverstripe could help this process go more smoothly by providing coding tools that would speed the process along. If for example, silverstripe were to create a linter that would highlight depreciated code and give advice on alternatives to that code, developers could quickly migrate there own modules and help others migrate theirs.
To reiterate: If SS 4 is to be adopted quickly upon its release, I truly believe there needs to be tools to aid in module migration.
I believe we’ve addressed this sufficiently in SS4 with Silverstripe-upgrader. There’s an ongoing discussion on how much we can leverage static analysis to auto-rewrite more code (https://github.com/silverstripe/silverstripe-upgrader/issues/51), but I think the spirit of this card has been addressed.
AdminIngo Schommer (Admin, SilverStripe) commented
Hello Benjamin! We've create silverstripe/upgrader for this purpose: https://github.com/silverstripe/silverstripe-upgrader. At the moment it focuses mainly on automatically rewriting PHP namespaces, but can be used to identify some deprecated and removed code as well. The fidelity of such a tool will naturally be limited to how much it can infer from your own code. For example, we've replaced Form->validate() with Form->validationResult() - but we can only make a best guess if your code is using validate() on an actual Form object (through regular expressions, potentially through PHPDoc). See https://docs.silverstripe.org/en/4/changelogs/4.0.0/ for more details.