Pergunta

Eu aprendi há algum tempo sobre árvores de decisão e tabelas de decisão. Eu sinto que tabelas de decisão pode ajudar com instruções condicionais if-then-Else. Em particular, eu sinto que tabelas de decisão não tem efeitos colaterais, por exemplo, se você não percebeu que você precisa de um mais "else if".

Mas eu não sei como posso implementá-lo. Arrays? Tabelas de banco de dados? Alguém até mesmo usar tabelas de decisão no seu código, hoje em dia?

Foi útil?

Solução

Eu recomendo o capítulo 18 de Code Complete .

Você também pode verificar este post Quais são dirigido por tabela Métodos

Outras dicas

Bem, eu fiz minha própria pesquisa: S

  1. Este é algo do IBM sobre tabelas de decisão utilizados para tornar o teste de cenários
  2. Isto é de uma empresa que faz tabelas de decisão que são depois traduzidas a if-then-else declarações em vb.net.
  3. fluxo de trabalho rubi Open source e motor bpm que as tabelas usos de decisão.

Então, ainda estou procurando. Se alguém tem algumas boas respostas, deve inserir-los.

Multi-plataforma, CCIDE-0.5.0-6 (ou posterior) está disponível no SourceForge e Github.

Veja a página web em http://twysf.users.sourceforge.net/

estruturas

A mesa-driven método utiliza dados em vez de declarações se-então para dirigir a lógica do programa. Por exemplo, se você está processando dois tipos de registros (tv contra cabo) que você pode fazer isso:

de hash [TV] = processTvRecords

de hash [cabo] = processCableRecords

Em alguns idiomas, como Ruby ou Perl, esta técnica é simples. Em Java, você precisa usar a reflexão para encontrar alças método.

Se você quiser saber mais sobre tabelas de decisão, investiagethe framework de testes Fitnesse em http://fitnesse.org/ .

De longe a melhor aplicação que eu vi para tabelas de decisão é um aplicativo chamado Prologa, que está disponível para download em http://www.econ.kuleuven.be/prologa . Infelizmente, ele só está disponível no Windows, e pode haver um pequeno atraso enquanto você espera para a chave de avaliação.

As condições alças de software que são não-binário, pode recolher regras semelhantes, e na verdade controla o número de combinações que sua tabela actualmente cobertas por isso é ótimo para Controlos de integralidade dos particularmente grandes mesas. Também lida com tabelas aninhadas graciosamente (onde o resultado de uma tabela pode ser a condição de outra tabela).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top