I am a strong advocate of creating user-defined functions. They improve the structure of your JSL code but more importantly they transform the way that you think about the coding process, as I explained in an earlier post.
Of course the main technical reason for using user-defined functions is that they allow you to re-use your code rather than repeatedly reinventing the wheel.
Except there is a problem. Often we forget what we have done in the past and so we just keep reinventing our functions!
If you really want to boost your productivity you need to not only create user-defined functions but also document them!
Now nobody likes creating documentation, especially programmers. But technology can help us. There are a variety of software products on the market that automatically generate documentation based on formatted comments that are embedded into the code structure. The great thing about these tools is that they produce HTML-based content that you can use as an index to all your functions.
For example, I have a number of utility functions that I can easily reference:
The first benefit is that I can immediately see whether I have the required function or whether I need to build a new one. If it exists I can simply click on the link to get a detailed description of the function:
It requires some discipline to create the function headers that provide the metadata for the document generation.
But it you make the effort you will be rewarded with a huge boost in your productivity.