I recently posted an article "Application Express Principles of Good Practice".
The idea for this format came from my job at the National Association of Independent Schools. NAIS published a series of Principles of Good Practice for different areas of school operations that were extremely popular. To me this was a very compelling idea. Rather than tell schools how to run themselves, they provided a framework for decision making. So rather than tell others how to design and code in APEX, I thought I would offer a framework for decision making.
The principles start with an explanation of their goals. The principles seek to maximize these qualities: Declarative; Discoverable; Explainable; and Maintainable. There can be other goals but I chose these as a framework for how to weigh tradeoffs. Each of the 10 principles is rooted in one or more of the four goals.
The perspective I wrote from comes from years of experience and, more recently, working on a large system that is the accumulation of years of work by several different developers, in succession. It's obvious that each of these developers, including myself, had different ways of building. Most of them, myself included, appear to have optimized for laziness. That is to say, they needed to get the most done in the shortest amount of time.
I think that most developers struggle with producing versus engineering. Time is never on our side which means we aim to keep it simple but often really choose easy.
There are no right or wrong answers, just tradeoffs. I hope the principles help make those tradeoffs more conscious.
Top comments (0)