Avoiding side effects of pure functions
A general principle of good programming is encapsulation. Functions should only access what they need to accomplish their task and should minimize side effects and action at a distance.
How to do it…
Perform the following steps to avoid side effects of pure functions:
Mark as many functions as possible with the
pure
annotation. It may go before or after the return type, name, and argument list.Try to compile. The compiler will tell you which functions need your attention.
Take
const
orimmutable
objects whenever possible. Use thein
orscope
keywords on your parameters if you will not store a reference to them.To enable the most functions to be pure, avoid the use of global (module-level or locals marked with
static
) variables.If a function is conditionally
pure
based on compile-time arguments, you do not have to explicitly mark it with thepure
keyword. Follow the rules and the compiler will infer its purity based on the purity of its arguments at the...