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

Small, Daily Steps to Success!

Small, Daily Steps to Success! Success isn't birthed from grand, one-time events. It's the result of consistent, everyday actions. For instance, reading 10 pages daily trumps consuming a book in one go. This principle applies to fitness, relationships and business...

read more

Is Campaign still being used in Dynamics 365 Sales (CRM)?

Is Campaign still being used in Dynamics 365 Sales (CRM)? Campaign management has already been a long time in Dynamics 365 Sales, but is it still being used out in the wild? You can create a Campaign as a container for actions. You can add a Marketing List as a target...

read more

Think you need approval? Think again.

Think you need approval? Think again. In the fast-paced world of business, time is not just money; it’s everything. Yet, many processes are still handcuffed by the need for approvals. It's a common misconception that every decision needs a green light from someone...

read more
Share This