Book Image

D Cookbook

By : Adam Ruppe
Book Image

D Cookbook

By: Adam Ruppe

Overview of this book

Table of Contents (21 chapters)
D Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

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:

  1. Mark as many functions as possible with the pure annotation. It may go before or after the return type, name, and argument list.

  2. Try to compile. The compiler will tell you which functions need your attention.

  3. Take const or immutable objects whenever possible. Use the in or scope keywords on your parameters if you will not store a reference to them.

  4. To enable the most functions to be pure, avoid the use of global (module-level or locals marked with static) variables.

  5. If a function is conditionally pure based on compile-time arguments, you do not have to explicitly mark it with the pure keyword. Follow the rules and the compiler will infer its purity based on the purity of its arguments at the...