DEV Community

Greg Jarmiolowski
Greg Jarmiolowski

Posted on • Edited on

Design and build with other developers in mind

The goal is to develop an application that is self documenting because no one in the future, including you, will have access to your current mental state.

Having the opportunity to work on a system you developed years ago is a real eye opener. The key takeaway for me was that I am now a different person and what I did at the time is not obvious to me.

Reading code is the last thing most of us think about when we build. And in APEX code is often interpreted from little bits of data. How we put that data together is important.

One of the things I like the most about APEX is the structure is familiar and consistent. I can usually open any application and find my way around. But once I encounter code blocks and complex queries, a different style of reading comes into play.

Incidental complexity is how we create messes and so the overarching message here is to minimize and document complexity. The opposite of complex is simple (not easy). This means at hand, easy to reason about, clear.

Consider, will debugging this require me to go look up a bunch of things? How many balls do I need to put into the air in order to understand what is happening right here and now as I debug or support a customer or add an enhancement?

Top comments (0)