The Joys Of Apex

Who knew when, shortly after Christmas in 2019, I published a post detailing the joys and pains of developing applications in Apex that the response would be so overwhelming? Certainly not me. But I'm dedicated to making this your Apex test kitchen: a site filled with code recipes on the subjects that can be applied to any Salesforce org. Need a code recipe for randomly selecting elements from a list? How about implementing lazy iterators? Maybe you're looking to clean up your Dependency Injection model and can take some inspiration from the Factory pattern, or need to implement a simple mocking framework to speed up your unit tests and deploy times. No matter what the subject is, the Joys Of Apex has you covered.
Look, there's always room for improvement. Have a subject in mind you're hoping for a little more clarity on? Don't be afraid to drop me a line! I'm always looking for more inspiration, as well as guest posts. From Lightning Web Components (LWC), Aura, JavaScript, VisualForce, Apex and beyond, I hope the posts inspire you to stay excited in your own Salesforce journey.
A friend recently commented on the "test kitchen" verbage above, and I thought their remarks deserved the light of day:
You know, I think But I'm dedicated to making this your Apex test kitchen: a site filled with code recipes on the subjects that can be applied to any Salesforce org. is really selling it short. It's like: "hey, here's what non-SF devs talk about and do and maybe SF devs should write code that way too, the best we can inside what SF allows"
With that in mind, let's dive in:
Show More

Posts

You Need To Use Queueable Finalizers

Published: 10/22/2024

Dynamic LWC Creation: Part Two

Published: 8/9/2024

Using AI In Apex

Published: 6/28/2024

Refactoring By Tidying

Published: 5/3/2024

Authoring SF CLI Plugins

Published: 3/17/2024

Benchmarking Matters

Published: 1/4/2024

Three Years In Open Source

Published: 12/4/2023

Exploring the Slack SDK

Published: 10/17/2023

Building Better Software Teams

Published: 8/18/2023

Custom Metadata Decoupling

Published: 7/31/2023

Responsible LLM Usage

Published: 6/23/2023

Bulk Lead Conversion

Published: 5/5/2023

The Road To Tech Debt Is Paved With Good Intentions

Published: 4/10/2023

Iteratively Building a Flexible Caching System for Apex

Published: 2/16/2023

A Tale Of Two Scope Creeps

Published: 1/20/2023

TypeScript & SFDX

Published: 1/18/2023

Dynamic LWC Creation

Published: 12/28/2022

Two Years In Open Source

Published: 12/14/2022

Advanced LWC Jest Testing

Published: 11/16/2022

Expanding On the Factory Pattern

Published: 9/6/2022

CICD With Kai Tribble

Published: 9/1/2022

Building An Apex Portfolio

Published: 8/6/2022

Uplevel Your Engineering Skills

Published: 6/17/2022

Abstract Classes & Interfaces

Published: 5/30/2022

The Life & Death Of Software

Published: 4/4/2022

Mocking Apex History Records

Published: 3/3/2022

Open Sourcing The Round Robin Assigner

Published: 3/1/2022

Strongly Typed Parent & Child-level Queries

Published: 2/21/2022

Mob Programming & Deep Work

Published: 2/15/2022

A Year In Open Source

Published: 12/19/2021

Creating A Round Robin Assignment

Published: 12/9/2021

What's New With Nebula Logger

Published: 11/10/2021

You Need A Strongly Typed Query Builder

Published: 10/15/2021

Platform Events With Async Apex

Published: 7/12/2021

Replace Conditional With Polymorphism

Published: 6/6/2021

Organizing Invocable And Static Code

Published: 5/23/2021

One Small Change

Published: 4/26/2021

Advanced Logging Using Nebula Logger

Published: 3/8/2021

The Tao Of Apex

Published: 2/27/2021

Naming Matters In Apex

Published: 1/31/2021

Replacing DLRS With Custom Rollup

Published: 12/31/2020

Random Shuffle For Lists & The Importance Of Revisiting Old Code

Published: 11/23/2020

Formula Date Issues

Published: 10/26/2020

Testing Custom Permissions

Published: 10/10/2020

The XY Problem In Programming

Published: 9/6/2020

setTimeout & Implementing Delays In Apex

Published: 8/12/2020

Refactoring Tips & Tricks

Published: 7/29/2020

LWC Custom Path

Published: 6/22/2020

LWC Modal Cleanup and Testing

Published: 6/15/2020

Lightning Web Component Composable Modal

Published: 6/12/2020

Lightning Web Component Composable Pagination

Published: 6/3/2020

Lazy Iterators

Published: 5/20/2020

Test Driven Development Example

Published: 5/3/2020

Continuous Integration With SFDX

Published: 4/29/2020

Building A Better Singleton

Published: 4/25/2020

Picklist Validation

Published: 4/14/2020

Batchable & Queueable Apex

Published: 3/27/2020

Sorting And Performance In Apex

Published: 3/22/2020

Object-Oriented Basics

Published: 3/18/2020

React Versus Lightning Web Components

Published: 3/17/2020

Extendable (Dynamic) APIs

Published: 3/10/2020

Enum Apex Class Gotchas

Published: 3/5/2020

Writing Performant Tests

Published: 3/2/2020

Lightweight Trigger Handler

Published: 2/29/2020

Idiomatic Apex

Published: 2/10/2020

Future Methods, Callouts & Callbacks

Published: 1/24/2020

The Repository Pattern

Published: 1/11/2020

Building An Apex Logging Service

Published: 1/2/2020

Dependency Injection & The Factory Pattern

Published: 12/31/2019

Mocking DML

Published: 12/28/2019

Introduction & Testing Philosophy

Published: 12/27/2019