| 81 | |
| 82 | === Big Applications === |
| 83 | Big applications are very hard to found where a bug is to fix it, very hard to maintain, etc, the best way to avoid these pains are: |
| 84 | 1. Keep everything modularized but independent, this means that every function, tool or feature, can be called independently without depend of any other thing, think about use external commands |
| 85 | 1. When those external commands or global tools/functions are called, make sure to include a debug entry showing how it is called, on this way you can easly reproduce the same callback outside the application |
| 86 | 1. Never delete or rename old functions, you will have tools that still depend of it, instead, replace it with the new function and add a warning line telling the user that this function is deprecated |
| 87 | 1. Never refactor changing the final behaviour, unexpected results will happen to applications that uses these functions |