Boas Práticas em Desenvolvimento ServiceNow: O Que Seguir e o Que Evitar

laptop, macbook, codes, coding, programming, css, computer, technology, work, computer programming, coding, coding, coding, coding, coding, programming, programming, programming, programming, computer, computer

Com o crescimento da adoção da plataforma ServiceNow em empresas de diferentes segmentos e portes, cresce também a responsabilidade dos desenvolvedores e administradores técnicos em construir soluções escaláveis, eficientes e sustentáveis. Muito além de fazer “funcionar”, é essencial seguir boas práticas que garantam qualidade, performance e facilidade de manutenção a longo prazo.

Neste artigo, reunimos as principais diretrizes que devem orientar o desenvolvimento na plataforma, com foco em práticas recomendadas e em erros comuns que devem ser evitados por quem atua com ServiceNow de forma profissional.


Práticas que você deve seguir

1. Modularize seu código com Script Includes

Centralizar lógica de negócio em Script Includes reutilizáveis facilita manutenção, evita duplicidade de código e promove clareza. Sempre que a mesma regra ou ação for usada em mais de um lugar, crie um método específico.

Exemplo correto:

var MyUtils = Class.create();
MyUtils.prototype = {
getPriorityDescription: function(priority) {
if (priority == 1) return "Alta";
if (priority == 2) return "Média";
return "Baixa";
},
type: 'MyUtils'
};

Evite replicar essas condições em múltiplos scripts.


2. Use GlideRecord e GlideAggregate de forma consciente

Evite GlideRecord desnecessários em loops ou consultas não otimizadas. Use addQuery(), setLimit(), addActiveQuery() e evite trazer colunas que não serão utilizadas.

Quando precisar contar registros ou extrair estatísticas, prefira GlideAggregate.


3. Utilize UI Policies sempre que possível

Quando a lógica envolver visibilidade, obrigatoriedade ou bloqueio de campos, use UI Policies ao invés de Client Scripts. Elas são mais performáticas, fáceis de manter e não exigem código.


4. Teste em ambientes separados

Sempre desenvolva e teste em ambientes de desenvolvimento ou homologação, nunca diretamente em produção. Utilize o Application Picker, revisões em Branches (se Scoped), e o Update Set de forma controlada.


5. Documente seu código e scripts

Comentar código não é opcional. Explique a lógica de trechos importantes, indique onde scripts estão sendo chamados e use a descrição dos registros (UI Actions, Client Scripts, Script Includes) para informar o objetivo daquela configuração.


6. Controle de acesso com ACLs e roles bem definidas

Evite lógica de permissão em scripts. Use Access Control Rules (ACLs) para limitar leitura, escrita e criação de registros com base em funções. Combine com gs.hasRole() apenas quando realmente necessário.


7. Pense no usuário final

Antes de desenvolver uma solução, pense na experiência do usuário final. Campos desnecessários, formulários desorganizados, fluxos confusos e ausência de mensagens de erro claras podem impactar mais do que problemas técnicos.


Práticas que você deve evitar

1. Evitar lógica de negócio em Client Scripts

Client Scripts devem ser usados apenas para lógica de apresentação ou interação no front-end. Qualquer validação importante ou cálculo sensível deve ocorrer no servidor (via Business Rule ou Script Include).


2. Não deixar scripts longos e sem modularização

Business Rules ou Script Includes com centenas de linhas dificultam manutenção. Sempre que possível, separe funções auxiliares e divida a lógica por responsabilidade.


3. Evitar múltiplos scripts para o mesmo evento/campo

Ter três Client Scripts onChange para o mesmo campo, ou várias Business Rules before insert com lógicas sobrepostas, gera confusão e risco de comportamento inesperado. Consolidar lógicas e nomear claramente os scripts é essencial.


4. Não usar GlideRecord diretamente em Script Includes Client Callable

Evite expor consultas sensíveis ou dados em chamadas client-side via GlideAjax. Utilize abstrações, validações e restrições para evitar vazamento de dados ou acesso indevido.


5. Não ignorar o padrão de nomenclatura

Padronizar nomes de tabelas, campos, scripts e aplicações facilita entendimento, evita conflitos e torna o projeto mais acessível a outros desenvolvedores. Use prefixos coerentes (ex: x_app_), nomes autoexplicativos e separados por underscore.


6. Evitar hardcodes e valores fixos

Evite valores fixos no código, como sys_ids, nomes de grupos ou usuários. Prefira buscar por variáveis de sistema, propriedades ou fazer queries com base em critérios dinâmicos. Isso garante maior portabilidade e manutenção do código.


7. Não confiar apenas em validações de formulário

Validações importantes devem estar no backend (Business Rule ou Flow), pois Client Scripts podem ser desativados ou burlados por usuários avançados.


Conclusão

Boas práticas em ServiceNow não são apenas recomendações técnicas: são instrumentos de qualidade, segurança e previsibilidade. Em ambientes corporativos, onde a plataforma é crítica para a operação de TI, RH, atendimento ao cliente e outras áreas, seguir essas diretrizes é o que diferencia uma entrega funcional de uma entrega profissional.

Desenvolver com responsabilidade, clareza e foco em manutenção é o caminho para soluções sustentáveis, confiáveis e valorizadas pelo negócio.

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *