Difference between revisions of "HowTo:Design a Customizing"
Line 83: | Line 83: | ||
=== Performance === | === 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. | * 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 | + | |
+ | === Avoiding crashes === | ||
* Check every variable for being null before you use it. | * 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 === | === Well-formed code === | ||
Line 96: | Line 101: | ||
= Mobile = | = Mobile = | ||
− | |||
For mobile features, it is important to consider some basic principles the client works by. | For mobile features, it is important to consider some basic principles the client works by. | ||
Revision as of 14:20, 27 July 2023
Customizing UBIK® is a complex endeavor. In this article, we aim to provide a guide and best practices making this task as straight-forward as possible.