Contribuindo para o Código

Você está planejando contribuir para a Estrutura Nette e precisa se familiarizar com as regras e procedimentos? Este guia para iniciantes irá guiá-lo através dos passos para contribuir efetivamente com o código, trabalhar com os repositórios e implementar mudanças.

Procedimento

Para contribuir com o código, é essencial ter uma conta no GitHub e estar familiarizado com os fundamentos do trabalho com o sistema de controle de versões Git. Se você não está familiarizado com Git, você pode verificar o git – o guia simples e considerar o uso de um dos muitos clientes gráficos.

Preparação do Meio Ambiente e Repositório

  1. No GitHub, crie um garfo do repositório de pacotes que você pretende modificar
  2. Clonar este repositório em seu computador
  3. Instale as dependências, incluindo o Nette Tester, usando o comando composer install
  4. Verificar se os testes estão funcionando composer tester
  5. Criar uma nova filial com base na última versão lançada

Implementando suas próprias mudanças

Agora você pode fazer seus próprios ajustes de código:

  1. Implementar as mudanças desejadas e não esquecer os testes
  2. Certifique-se de que os testes sejam executados com sucesso usando composer tester
  3. Verificar se o código atende às normas de codificação
  4. Salvar (comprometer) as mudanças com uma descrição neste formato

Você pode criar vários compromissos, um para cada passo lógico. Cada compromisso deve ser significativo por si só.

Submetendo mudanças

Uma vez satisfeitos com as mudanças, você pode apresentá-las:

  1. Empurre as mudanças no GitHub para o seu garfo
  2. A partir daí, submetê-los ao repositório Nette, criando uma pull request (PR)
  3. Forneça informações suficientes na descrição

Incorporando Feedback

Seus compromissos agora são visíveis para os outros. É comum receber comentários com sugestões:

  1. Acompanhe as mudanças propostas
  2. Incorporá-los como novos compromissos ou fundi-los com os anteriores
  3. Reenviar os compromissos ao GitHub, e eles aparecerão automaticamente no pedido de puxar

Nunca criar um novo pedido de puxar para modificar um já existente.

Documentação

Se você mudou de funcionalidade ou adicionou uma nova, não se esqueça de adicioná-la também à documentação.

Nova filial

Se possível, faça alterações em relação à última versão lançada, ou seja, a última tag no ramo. Para a tag v3.2.1, criar um ramo usando este comando:

git checkout -b new_branch_name v3.2.1

Normas de Codificação

Seu código deve atender ao padrão de codificação utilizado no Nette Framework. Há uma ferramenta automática disponível para verificar e fixar o código. Você pode instalá-lo globalmente através do Composer em uma pasta de sua escolha:

composer create-project nette/coding-standard /path/to/nette-coding-standard

Agora você deve ser capaz de executar a ferramenta no terminal. O primeiro comando verifica e o segundo conserta o código nas pastas src e tests no diretório atual:

/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix

Descrição do compromisso

Em Nette, os assuntos de compromisso têm o seguinte formato: Presenter: fixed AJAX detection [Closes #69]

  • área seguida por um cólon
  • objetivo do compromisso no passado; se possível, comece com palavras como: added, fixed, refactored, changed, removed
  • se o compromisso quebra a compatibilidade para trás, adicionar “BC break”
  • qualquer conexão com o rastreador de problemas, como (#123) ou [Closes #69]
  • após o assunto, pode haver uma linha em branco seguida por uma descrição mais detalhada, incluindo, por exemplo, links para o fórum

Descrição do Pedido de Puxar

Ao criar um pedido de puxar, a interface GitHub permitirá que você insira um título e uma descrição. Forneça um título conciso e inclua o máximo de informações possíveis na descrição sobre os motivos de sua mudança.

Além disso, especificar no cabeçalho se é uma nova característica ou uma correção de bug e se pode causar problemas de retrocompatibilidade (BC break). Se houver um problema relacionado, estabeleça um link com ele para que seja fechado após a aprovação do pedido de puxar.

- bug fix / new feature?  <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#?    <!-- highly welcome, see https://nette.org/en/writing -->