Changes
=== Performance ===
* Minimize the amount of relatively slow operations, like network operations, and filesystem or database access. Perform a few batch operations instead of many individual, small ones.
* Avoid nested loops, because they multiply the amount of processing steps required.
* Apply caching to reuse previously processed data and to avoid doing the same thing more than once, but clean up your cache if it becomes invalid.
=== Avoiding crashes:===
* Check every variable for being null before you use it.
* Think about the possible use-cases your code might encounter (e.g., extreme cases of parameters), and test these scenarios.
* For debugging, perform log outputs for unintended outcomes, providing runtime information you cannot inspect otherwise.
=== Well-formed code ===
= Mobile =
For mobile features, it is important to consider some basic principles the client works by.