Capítulo 9. Lidar com muitos plugins semelhantes

Visão geral das diferentes abordagens

Às vezes, você pode querer desenvolver plugins para uma série de funções semelhantes. Por exemplo, considere os gráficos de distribuição. Eles geram código bastante similar e, claro, é desejável que as interfaces gráficas sejam semelhantes entre si. Finalmente, grandes seções dos arquivos de ajuda podem ser idênticas. Apenas alguns parâmetros são diferentes para cada plugin.

A abordagem ingênua para isso é desenvolver um plugin e, basicamente, copiar e colar todo o conteúdo dos arquivos .js, .xml e .rkh, alterando apenas as poucas partes que são diferentes. No entanto, e se, algum tempo depois, você encontrar um erro de ortografia que foi copiado e colado em todos os plugins? E se você quiser adicionar suporte para um novo recurso? Você teria que visitar todos os plugins novamente e alterar cada um deles. Um processo cansativo e tedioso.

Uma segunda abordagem seria usar incorporação. No entanto, em alguns casos, isso não se presta bem ao problema em questão, principalmente porque os pedaços que você pode incorporar são às vezes muito grandes para serem úteis, e isso impõe algumas restrições ao layout. Para esses casos, os conceitos de incluir arquivos .js, incluir arquivos .xml e snippets podem ser muito úteis (mas veja as considerações sobre quando é preferível usar incorporação).

Uma palavra de cautela, antes de começar a ler: esses conceitos podem simplificar o gerenciamento de muitos plugins semelhantes e melhorar a manutenção e a legibilidade desses plugins. No entanto, exagerar pode facilmente levar ao efeito contrário. Use com cautela.