Photo by Samuel Sianipar on Unsplash

Summary

Integrations happen more often than not, and reasons range from choosing the best system that fits the purpose, company growth or simply because you have a legacy system to take care of.

Initial Assessment

I usually start by understanding what data is missing and what reasons make us believe that we need…


Seven years ago, I transitioned from being a C# enterprise developer to a Salesforce developer.

Let me start by saying that I had a good career as a C# developer — working at a large organization and developing some interesting solutions. However, it got to the stage where I felt…


Reading through the Clean Code book, I stumbled upon a very strong and deep piece of advice:

Mature programmers know that the idea that everything is an object is a myth. Sometimes you really do want simple data structures with procedures operating on them.

Batman (Clean code) slapping Robbin (purist OO developer): everything is an object. That is a myth!
Chapter 6: Objects and Data Structures, that is nearly a slap on the face of purist Object-Oriented developers.

However right before that, Uncle Bob…


Photo by Kevin Ku on Unsplash

First impressions

I have to say that I enjoy Continuous Integrations: the process gives me feedback if the work I'm performing works with the work that others are performing.

When GitHub launched the Beta for GitHub Actions, I got excited. …


Or how to handle synchronous calls with slow backends

Photo by Pascal van de Vendel on Unsplash

I spent a long time of my experience Salesforce creating integrations with other systems: from Mainframes to microservices.

One of the main painful problems with synchronous integration in Salesforce is the timing constraint — especially because Salesforce imposes, with governor limits


Photo by La-Rel Easter on Unsplash

For many implementations that I worked so far, they tend to become a “Big Ball of Mud” — of course, this is not exclusive to the Salesforce ecosystem, but some challenges are specific. …


Photo by AbsolutVision on Unsplash

Just a quick note to talk about a pattern to lazy load constants (similar to an old question in Stackoverflow).

Problem

Sometimes you have a class full of constants and some of those are resource intensive (CPU or memory).

Solution

Lazy load those constants:

public static final Map<String, String> ISO_TO_SYMBOL {
get {
if (ISO_TO_SYMBOL == null) {
ISO_TO_SYMBOL = new Map<String, String>{
'USD' => '$',
'CAD' => '$',
'EUR' => '€',
'GBP' => '£',
'JPY' => '¥',
'KRW' => '₩',
'CNY' => '元'
};
}
return ISO_TO_SYMBOL;
}
set;
}

Benefits

  1. Assure the static instance is never changed: constant.
  2. Load the map only if requested: lazy load.

Drawback

  1. More convoluted code.

Question

Is this a supported pattern or just a corner case? Asking because have not found an example online.


Jenkins + Salesforce DX = ❤

If you use Jenkins as a CI tool and want to streamline the process to build and test the Salesforce DX project, this library is for you.

Motivations

Salesforce did their job and provided a helpful walkthrough including a sample Jenkinsfile, but in my experience, that was not enough.

I realised…

Jeferson Spencer Chaves

I’m a Software Engineer working with Salesforce Lightning Platform @ClaimVantage.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store