Pular para o conteúdo

Dividir um arquivo grande

Quando partir, por onde partir, e como fazer isso sem quebrar quem já adota o arquivo.

Um arquivo com mil linhas ainda funciona; o problema é que ninguém mais acha nada nele, e toda mudança conflita com outra. Partir é mecânico se for feito na ordem certa.

Quando#

SinalMedido por
o arquivo passou de 400 linhasdataforge stats
dois assuntos que não se chamamdataforge deps
um blueprint com baixa coesãodataforge oop (LCOM alto)

Como, sem quebrar ninguém#

  1. Crie os arquivos novos e mova o código para eles.
  2. No arquivo original, troque o conteúdo por uma fachada: relay from ./parte1, relay from ./parte2.
  3. Rode dataforge abi antigo.df novo.df: o veredito precisa ser correcao — a superfície não mudou.
  4. Só depois, se quiser, migre quem adota o arquivo original para os novos.
bash
dataforge stats src/loja.df
dataforge abi git-show-antigo/loja.df src/loja.df   # precisa dar 'correcao'
dataforge check src/                                 # nenhum ciclo novo
dataforge
// O que o 'abi' confere, em miniatura: a mesma superficie antes e depois.
action total(v):
    yield v * 1.1
action frete(uf):
    yield 20 given uf is "SP" otherwise 35
assert total(100) bigger 109 and frete("SP") is 20