AULA 29 / 61 · ACESSO GRATUITO

Comandos reproduzíveis

Graciliano TolentinoEngenharia Caracol · Edição 2.0
Nesta aula
  1. O comando como contrato de execução
  2. Contrato preenchido dos comandos oficiais
  3. Execução desde uma entrada conhecida
  4. Procedimento de diagnóstico
  5. Erros e reparos
  6. Exercício com dados e solução
  7. Leitura relacionada

O comando como contrato de execução

Um comando reproduzível informa onde executar, o que precisa existir, qual ação realiza, como reconhecer sucesso e o que fazer quando falha. Seu nome isolado não basta. npm run validate, por exemplo, depende de um script definido no pacote. Escrever esse nome numa documentação sem fornecer a implementação transforma uma instrução em promessa vazia.

O código de saída comunica o resultado de um processo ao sistema que o iniciou. Para as verificações deste pacote, zero indica conclusão bem-sucedida e um valor diferente de zero indica falha. A saída textual explica o diagnóstico. Não procure apenas uma palavra tranquilizadora no meio do log: examine o resultado final e a consequência para os critérios.

Alguns comandos permanecem em execução. npm start inicia o servidor local e normalmente continua ocupando o terminal até ser encerrado. Não devemos exigir que ele termine com zero para declarar que o servidor está atendendo. A evidência adequada inclui resposta no endereço previsto e comportamento observado; a ausência de uma mensagem de erro não comprova o fluxo.

Contrato preenchido dos comandos oficiais

Comando dentro de praticaPré-condição e açãoResultado e limite
node --versionNode instalado; informar runtimeRegistrar versão real, sem avaliar requisitos do catálogo
npm ciManifesto e lockfile coerentes; conferir instalaçãoConclusão aceitável da instalação; não prova funcionamento
npm testArquivos do pacote presentes; executar testes automatizadosVerificações aprovadas; alcance limitado aos cenários incluídos
npm run validateScript do pacote; verificar sintaxe, dados e testesResultado aceitável nas verificações definidas; não certifica acessibilidade
npm startPorta local disponível; iniciar servidorAbrir http://127.0.0.1:3000 e conferir percurso
npm run snapshot e npm run restoreDados fictícios do exercício; operar em sandbox/recuperacaoDemonstrar recuperação no sandbox; não sobrescrever o catálogo fonte

Esses contratos pertencem ao pacote entregue. Snapshot significa uma cópia de referência para o exercício de recuperação; restore reaplica essa referência apenas no sandbox. Os nomes não autorizam usá-los em produção. O alcance técnico do comando deve corresponder à documentação, e seu resultado precisa ser conferido em vez de presumido.

Execução desde uma entrada conhecida

bash
node --version
npm ci
npm test
npm run validate
npm start

Abra primeiro o terminal dentro da pasta pratica, conforme o README. Execute um comando por vez, examine o resultado e trate a falha antes de continuar como se houvesse aprovação. Com o servidor ativo, abra o endereço local indicado e confirme a listagem. Para encerrar o servidor no terminal, use Ctrl+C. Uma porta ocupada ou um comando executado na pasta errada deve produzir investigação da causa, não alteração aleatória no código.

O registro deve identificar diretório, comando, ambiente, versão do projeto, saída e conclusão. Para um teste automatizado reprovado, conserve qual cenário falhou e seu resultado. Para teclado e feedback acessível, acrescente passos e observações manuais; nenhum comando da tabela transforma essas verificações em conformidade automática. S19, documentação do test runner e da interface de linha de comando do Node, explica o mecanismo usado pelo pacote.

Procedimento de diagnóstico

  • Confira se está no diretório que contém o package.json do projeto e se os arquivos esperados estão presentes.
  • Leia a primeira causa relevante e o resultado final, sem apagar o diagnóstico antes de compreendê-lo.
  • Diferencie ambiente, instalação, sintaxe, dado, teste e comportamento integrado.
  • Corrija a causa com escopo explícito; execute novamente a verificação afetada e as regressões necessárias.
  • Registre tentativas e limites. Saída esperada num exemplo não deve ser apresentada como saída observada.

Erros e reparos

ErroReparo específico
Rodar comando em outra pastaLocalizar a raiz correta e repetir o percurso documentado
Ignorar processo reprovado e declarar validaçãoTratar a falha e obter resultado aceitável antes do gate
Copiar segredo para tornar exemplo executávelUsar valor fictício; se uma credencial real foi exposta, revogar ou rotacionar e tratar cópias conforme a exposição
Confundir servidor aberto com requisitos aprovadosExaminar a resposta e os cenários do fluxo, além do processo ativo

Exercício com dados e solução

Dados: a pessoa abre o terminal na pasta pai de pratica e recebe falha ao executar npm run validate. Depois entra em pratica, instala de modo coerente, executa os testes e encontra um cenário reprovado: um registro inativo aparece na lista pública. Quais são os dois problemas e qual o próximo gate?

Ver solução comentada

Solução: primeiro havia erro de contexto de execução; corrigir o diretório não corrige a lógica. A segunda falha viola REQ-002 e exige analisar seleção e resposta pública, corrigir a causa e repetir as verificações. O gate para entregar a capacidade permanece BLOQUEADO. Não basta trocar o comando, remover o teste ou guardar o log.

  • Rubrica: separar causa de execução e causa funcional, preservar o critério, escolher verificação pertinente e não apresentar a falha como aprovação.
  • Gate: outra pessoa consegue repetir o percurso com os arquivos fornecidos; comandos de verificação têm resultados aceitáveis e efeitos documentados; evidências manuais necessárias permanecem identificadas separadamente.

Leitura relacionada

Consultar S14, descrição de npm ci, S19, test runner e linha de comando do Node, e S13, orientação de remoção de dados sensíveis. Um registro de execução não deve criar uma exposição para demonstrar que funciona.

Fontes relacionadas

Consulte os limites e as seções de apoio de cada referência.

S14 S19 S13
Conseguiu explicar o que aprendeu?

Tente o exercício antes de consultar a solução. Marque a aula para organizar sua leitura.

A conclusão desta leitura não equivale a certificação ou aceite de um projeto real. Teste os exemplos no escopo indicado e registre as limitações.