Coding best practices in functional C#
The functional approach has the concept of a pure function. This means that the function will produce the same result as long as we pass the exact same input. Now, let's start our discussion to create the better functional code by following the coding best practices outlined here.
Preventing dishonest signatures
As we discussed in Chapter 1, Tasting Functional Style in C#, we use the mathematical approach to constructing our code in functional programming. In other words, functional programming is programming with mathematical functions. There are two requirements that mathematical functions must fit, they are:
- A mathematical function should always return the same result whenever we supply the same arguments.
- The signature of the mathematical function should deliver all the information for the possible accepted input values and the possible produced output.
Now let's take a look at the following code snippet, which we can find in the HonestSignature...