In the past 10 years I have updated a lot of JavaScript in Dynamics 365 CRM.
These are the 5 refactorings I always do:
β
Adding executionContext to functions;
Passing the executionContext is the new way to access Xrm.Page. Make sure you flag ‘Pass execution context as first parameter’. Waiting patiently for Microsoft to make this the default π₯±.
β
Replacing var with let or const;
Using let or const prevents stupid bugs where you re-declare or overwrite variables when you didn’t mean to.
β
Better names for variables;
While I’m replacing var, I also improve the names of the variables to make it clear what their intension is.
β
Invert if statements and use early returns;
Remove all those nested if statements and make your code clearer to understand by returning immediately when a condition doesn’t apply or inverting the check in a if statement.
β
Use async/await;
Remove promises and .then methods that are nesting your code and replace it with the async/wait pattern to improve your code readability.
What are the refactorings you do when touching JavaScript code in Dynamics 365 CRM?