Olá,
Então, isso vai além do que há na documentação oficial, isso tem que partir do desenvolvedor, e pelo visto você já teve essa iniciativa né haha.
Seguinte, eu aconselho a organizar seus fontes de forma que eles façam o que é a proposta deles.
Por exemplo, se em determinada parte do código você faz requisições para serviços e APIs e logo embaixo você utiliza o retorno para montar um bloco de tela e com isso aplica uma regra de negócio no seu processo, as coisas ficam um pouco confusas até mesmo para você que sabe onde estão cada ";".
Então separe um arquivo .js para requisições outro para montar blocos de tela e outro para lidar com as regras de negócio.
Depois disso, eu aconselho muito a deixar as funções altamente especialistas no que elas tem que fazer, ou seja,
se sua função tem que consultar a lista de usuarios do fluig, então defina ela desta forma, pois recebendo os argumentos necessarios ela nunca falhará . Não adicione outras funcionalidades À ela, por exemplo apendar o resultado da consulta em um campo na tela, esta não é a especialidade desta função. Se conseguir aplicar isso nas suas funções, elas se tornarão cada vez mais puras e especialistas, facilitando muito o entendimento e a eficiencia do seu código.
Obviamente não é possível tornar todas as funções puras, porém se você controlar onde estão as possiveis brechas do seu código, ficara mais facil encontrar os possiveis erros na execução.
Outra dica é: encontre um design pattern que se adeque a sua forma de trabalhar, parece besta mas faz muita diferença.
Eu utilizo Singleton e é muito eficaz se bem utilizado. Inclusive já utilizei até VueJs com esse modelo de singleton no Fluig e ficou show.