Refactorings I always do in JavaScript

by Sep 21, 2022

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?

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction

Related Content

Scrum conceals bad teams.

Scrum conceals bad teams. Far too often, we confuse Scrum with a magic wand that transforms any team into a high-performing 'dream team'. It's tempting to believe that the sprint system, with its regular completion and initiation of tasks, gives us an agile and...

read more

🚀 Process Automations in Microsoft Loop!

🚀 Process Automations in Microsoft Loop! Now you can create Power Automate-backed rules to streamline repetitive tasks in your Loop table. See https://insider.microsoft365.com/en-us/blog/streamline-your-workflow-with-automation-in-microsoft-loop Loop is slowly...

read more

You don’t control the truth in Production!

You don't control the truth in Production! Now a days multiple teams/projects are working on the same Dataverse production environment. So thinking you can manage the complete production truth in your ALM pipeline is strange. Not every environment is 💯 equal to...

read more
Share This