Whatever we do to change or enhance an NAV system, whether developing a
minor modification for a single site, or developing a full-blown system for many
installations, we need to plan for the future. That means we need to consider the
effect of our design and our code in variety of ways over and above the functionality
we are initially attempting to achieve.
We should consider the fact that someone else can meet up with our code in the
course of their maintenance activities. We should consider the fact that regardless
of the database platform in use, Microsoft SQL Server is likely to be the choice in
the relatively near future. We should also consider the fact that, if this system is
performing well for the users, it needs to be upgraded to a new version at some point.
Before we begin writing code, we should have a fi rm defi nition of what we aim to
accomplish and how it is going to be accomplished. We need to design our
changes to the database and the process fl ow not only so that they work well for the
intended purpose, but also so that they do not negatively impact on previously
implemented code.
No matter how much effort we put into our designs creating clean and simple code,
we must test it thoroughly and realistically. These systems are very complex and
the results of our "simple" changes often have signifi cant unintended consequences.
Isaac Asimov once made a statement to the effect that many signifi cant discoveries are
preceded by the comment "That's funny…"
If this book has helped you feel that you are ready to move from the status of
beginning C/AL Developer to intermediate or even advanced, there are quite a
number of other issues that you will need to deal with that we haven't discussed yet.
Fortunately, there are other resources available to use that can help you. In addition,
if you rigorously apply the techniques you've learned here, you will have a good
foundation on which to build advanced knowledge.