ποΈ Avoid Exceptions
"Exception handling is the process of responding to the occurrence of exceptions β anomalous or exceptional conditions requiring special processing β during the execution of a program." - Wikipedia
ποΈ Command Query Separation
Command Query Separation is a programming principle brought by Bertrand Meyer in his book Object Oriented Software Construction.
ποΈ Factory Pattern
The Factory Design Pattern is one of the most used design pattern in modern programming languages.
ποΈ Generate Code From Usage
Generate Code From Usage feature available in every modern IDE enables you to use classes, members, methods, ... before you define them.
ποΈ Immutable Types
An immutable type, is a type of object whose data cannot be changed after its creation.
ποΈ Monads
A monad is a software design pattern with a structure that combines program fragments (functions) and wraps their return values in a type with additional computation. [...], monads define two operators: one to wrap a value in the monad type, and another to compose together functions that output values of the monad type (these are known as monadic functions).
ποΈ No For Loops
"In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly." - Wikipedia
ποΈ No primitive types
Primitive obsession is a code smell in which primitive data types are used excessively to represent your data models.
ποΈ Parse, don't Validate
"Parse, don't validate" is a modeling approach which guarantees only valid data will be created.
ποΈ Pure Functions
Pure functions donβt refer to any global state. Those functions do not produce any side effects (state changes).
ποΈ Tell Don't Ask
Object Oriented Programming Paradigm is all about bundling data and operations on that data together.