API experimental
Marcar o que ainda pode mudar sem aviso de versão — e por que isso protege os dois lados.
Semver promete que uma versão menor não quebra nada. Isso é ótimo para quem usa e é uma prisão para quem escreve: a primeira versão de uma API raramente é a certa. experimental separa o que já é promessa do que ainda é rascunho.
dataforge
adopt Arcane.Evolucao as Ev
mark @Ev.experimental("a assinatura ainda vai mudar")
action prever_demanda(historico):
yield sum(historico) / len(historico)
assert prever_demanda([10, 20, 30]) is 20.0
assert Ev.avisos()[0]["tipo"] is "experimental"| Obsoleta | Experimental | |
|---|---|---|
| diz | vai sumir | pode mudar |
DF_OBSOLETOS=erro | reprova | não reprova — usar o experimental é escolha legítima |
entra no dataforge abi | sim, até sair | declare no README que não entra na promessa |