TheCodeNaked

Paralelismo - Episodio 10 (Copy)

Episódio 10 - Condicionais no JSON: lógica sem "if"

Na evolução do nosso sistema baseado em TSafeThreadInterface e TTaskChain, alcançamos um ponto crítico: como representar lógica condicional usando apenas JSON?

A proposta aqui é ousada: queremos manter um modelo declarativo, desacoplado do código, que permita tomar decisões como "se isso, então aquilo" sem precisar reescrever ou recompilar a aplicação.


Por que evitar o if no código?

  • Modificações exigem recompilação: Trocar um simples fluxo exige alteração de código.
  • Aumenta o acoplamento: O código fica repleto de verificadores, validadores e bifurcações.
  • Dificulta a visualização da lógica de negócio: A regra fica espalhada entre as linhas do código.

Com JSON, podemos mover essa lógica para um nível mais alto de abstração. O código vira interpretador, e a regra passa a ser declarada de forma legível, editável e carregada dinamicamente.


Como definir uma condicional via JSON?

Vamos usar um novo tipo de instrução:

{
  "acao": "Condicional",
  "se": {
    "variavel": "status",
    "igual": "ativo"
  },
  "entao": [
    { "acao": "EnviarEmail", "para": "cliente@exemplo.com" }
  ],
  "senao": [
    { "acao": "Log", "mensagem": "Cliente inativo" }
  ]
}

Essa estrutura pode ser interpretada por um mecanismo que valida o valor da variável status, e dependendo do resultado, executa as ações da lista entao ou da lista senao.


Benefícios

  • Extensão natural do interpretador: não altera as estruturas existentes.
  • Legibilidade e clareza: qualquer um pode entender a lógica com leitura simples.
  • Editor-friendly: pode ser alterado em tempo real, editado em interface visual.
  • Sem recompilar: regras mudam com simples upload de JSON.

Próximos passos

No próximo episódio, vamos mostrar como:

  • Tratar expressões mais complexas (e, ou, diferente, maior que, etc.)
  • Reaproveitar condicionais para filtros e bifurcações
  • Criar um interpretador modular e performático

Estamos transformando threads e tarefas encadeadas em uma linguagem visual de comportamento.


Código que pensa é bom. Código que obedece à lógica declarada é melhor ainda.

Nos vemos no Episódio 11.

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado