Changes for page Functions

Last modified by chrisby on 2024/01/13 18:39

From version 1.17
edited by chrisby
on 2024/01/13 18:39
Change comment: There is no comment for this version
To version 1.14
edited by chrisby
on 2023/12/06 09:24
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -23,10 +23,8 @@
23 23  #### Function Arguments
24 24  
25 25  * **The fewer arguments, the better.** Triads should be avoided. More than three arguments are not allowed. The fewer arguments a function takes, the easier it is to understand and the less error-prone it is.
26 -* There are two common types of monadic functions:
27 - 1. Monad that asks the argument a question or manipulates/converts it.
28 - 1. Events = monads with no return value. The reader should recognize that it is an event by the functions context and name→ Otherwise, do not use monadic functions.
26 +* There are two common types of monadic functions: * 1. Monad that asks the argument a question or manipulates/converts it. * 1. Events = monads with no return value. The reader should recognize that it is an event by the functions context and name→ Otherwise, do not use monadic functions.
29 29  * **Avoid flag arguments.** It shows that the function performs two tasks, depending on whether the flag is true or false.
30 30  * **Dyads should be converted to monads if possible**, but cannot always be avoided. Sometimes they are useful, e.g. when passing 2D coordinates, because the arguments are connected by a cohesion.
31 31  * **Argument objects:** When many arguments are to be passed to a function, it often makes sense to combine them as a separate concept in a new class/data structure.
32 -* **Verbs and keywords**: Function names can form a logical combination with the arguments, such as `write(name)`, or you can include the arguments in the function name, such as `writeName(name)`, to make it more readable.
30 +* **Verbs and keywords**: Function names can form a logical combination with the arguments, such as "write(name)", or you can include the arguments in the function name, e.g. to avoid confusion.