Don't re-invent the wheel
APEX is a declarative development tool. Use it.
APEX provides many great built-in features that help us to rapidly develop our applications with little or no coding. These features are implemented in the form of wizards and property pages and allow us to refrain from worrying about the "how to" implement details, but focus more on "what we want" to achieve from the application details (the business logic, as we call it).
Sometimes, as developers, we do need to write custom code to achieve certain functionality, but we should always be mindful to build it within the APEX framework and not to avoid or replicate functionality that already exists.
Note
This is especially true with the built-in APEX validations and the conditions mechanism. Wherever possible, you should use these built-in features rather than your own custom code. Most likely, they will perform better and be easier to maintain.
On top of APEX wizards and property pages, APEX also provides a number of built...