## Prevent infinite loops by recursion
- for example if you have a list that is iterated over and in each element of the list we are doing X, and our total list = 100 , then if for some reason,
when at 30/100 and 30 did not return X, there should be a failure limit so it does not try these 70 remaining possible failing attempts
## Prevent unintented behavior by external anomaly
- if a function takes any props or arguments, always first check if these are what they are and not empty or null. if so return and error handle accordingly
## Secrets ENV vars && Config files
- If the value that is needed is not sensitive you can just make an appriopriate place in the root config file of the repository,
this could be a `config.yaml, config.ts, config.json` etc whatever,
However if it's an API key etc then an ENV var is appropriate
## Magic numbers
- Any magic numbers that are used in functions all though generally a sign of a weaker solution, should be abstracted into a config file as aforementioned