Skip to content

Combinando parâmetros ​

O valor de um parâmetro pode ser uma conta com outros parâmetros, em vez de um número fixo.

BASE = 2
DOBRO = BASE * 2      →  vale 4

Quando BASE muda, DOBRO acompanha.

Quando isso ajuda ​

Relações que precisam se manter ​

Quando um número é sempre uma proporção de outro, escrever a relação evita que os dois saiam de sincronia:

TEMPO_TOTAL      = 10
TEMPO_DE_ESPERA  = TEMPO_TOTAL * 0.3
TEMPO_DE_ENVIO   = TEMPO_TOTAL * 0.7

Variando TEMPO_TOTAL numa varredura, as duas partes acompanham na proporção certa. Com os valores soltos, seria preciso lembrar de ajustar os três — e a soma silenciosamente deixaria de fechar.

Converter unidade uma vez só ​

Se uma medição veio em outra unidade, faça a conversão no parâmetro em vez de espalhá-la pelo modelo:

TEMPO_EM_MINUTOS  = 90
TEMPO_EM_SEGUNDOS = TEMPO_EM_MINUTOS * 60

Deixar a intenção visível ​

CAPACIDADE_TOTAL   = 100
MARGEM_DE_RESERVA  = CAPACIDADE_TOTAL * 0.2
CAPACIDADE_UTIL    = CAPACIDADE_TOTAL - MARGEM_DE_RESERVA

Quem lê entende a regra. Com 80 digitado direto, entende só o número.

O que dá para escrever ​

As quatro operações, parênteses, e nomes de outros parâmetros:

A + B
A * 1.5
(A + B) / 2
A - B * 0.1

Só outros parâmetros

Um parâmetro não pode usar a quantidade de fichas de um lugar. Parâmetros são valores fixos, definidos antes de a simulação começar; a quantidade num lugar muda o tempo todo.

Se você precisa de um número que depende do estado do sistema, isso é uma métrica, não um parâmetro.

Referência circular ​

Dois parâmetros não podem depender um do outro:

X = Y
Y = X          ←  não funciona

A execução para com uma mensagem sobre dependência circular. O conserto é decidir qual dos dois é o valor de base e escrever o outro em função dele.

Quando não vale a pena ​

Se a conta ficou difícil de acompanhar, prefira valores separados. O objetivo é tornar a relação visível, e uma cadeia de cinco parâmetros calculados uns a partir dos outros faz o contrário — ninguém consegue prever o efeito de mudar o primeiro.

Uma boa medida: se você precisa fazer a conta no papel para saber quanto um parâmetro vale, ele está complicado demais.