Although it is really not the way how we should develop new functionality, it is sometimes still necessary to customize standard code in Base Application. I do not usually allow developers working on my projects to customize the standard apps if it is not absolutely necessary. Even if I allow it, the customization is done in a way that allows upgrading the standard app to the newer version.
For example, one of the allowed steps in modifying standard apps is to add publishers to places, where they are not available yet. But how to make it better, upgradable? Microsoft created an open repository on their GitHub to allow anyone to report suggestions for new publishers. So my process on my projects is similar to
- Developer needs to change the standard app
- The request is checked by my or any assigned senior developer
- It there is no other way, but the change to the standard code, senior developer change the base app and open a new issue on Microsoft’s GitHub.
Using this process, we can help ourselves and others with upgrading and extending standard codes. In my opinion, this is the only way how anyone should do changes in standard apps.
How about you? Do you allow changes to core apps? Let me know in comments.