Como observado nos comentários de @ benjamin-gruenbaum, isso é chamado de armadilha booleana:
Digamos que eu tenho uma função como esta
UpdateRow(var item, bool externalCall);
e no meu controlador, esse valor para externalCall
sempre será VERDADEIRO. Qual é a melhor maneira de chamar essa função? Eu costumo escrever
UpdateRow(item, true);
Mas pergunto a mim mesmo, devo declarar um booleano, apenas para indicar o que esse valor "verdadeiro" significa? Você pode saber disso olhando a declaração da função, mas é obviamente mais rápido e mais claro se você apenas visse algo como
bool externalCall = true;
UpdateRow(item, externalCall);
PD: Não tenho certeza se essa pergunta realmente se encaixa aqui, se não, onde eu poderia obter mais informações sobre isso?
PD2: não codifiquei nenhum idioma porque pensei que era um problema muito genérico. Enfim, eu trabalho com c # e a resposta aceita funciona para c #
data CallType = ExternalCall | InternalCall
em haskell, por exemplo.