35. let values = { a: 1 };
let b = 1;
function impureFunction (items) {
items.a = items.a * b + 2;
return items.a;
}
let c = impureFunction(values);
// `values.a` is 3, the impure function modifies it.
36. let values = { a: 1 };
function pureFunction (a) {
let b = 1;
a = a * b + 2;
return a;
}
let c = pureFunction(values.a);
// `values.a` has not been modified, it's still 1
42. Write meaningful, searchable names
Functions should do one thing only
Avoid callbacks, use async/await instead
Reduce impure functions, use pure one