Este repositório contém as soluções para os desafios em http://osprogramadores.com/desafios.
-
Faça um fork deste repositório clicando no botão
Fork
no canto superior da tela. -
Faça um clone do repositório para a sua estação de trabalho:
$ git clone https://github.com/<seu_usuario>/op-desafios
-
Entre no diretorio criado pelo git (
op-desafios
). -
Crie um remote apontando para o repositório dos OsProgramadores:
$ git remote add upstream https://github.com/OsProgramadores/op-desafios
-
Uma vez feito o fork, crie um branch de trabalho (por exemplo, "dev")
$ git checkout -b dev
-
Trabalhe normalmente no branch de desenvolvimento. Quando estiver satisfeito com o resultado, faça o commit e o push com:
$ git push origin dev
-
O branch usado no "git checkout" tem que casar com o branch usado no "git push".
-
Entre no github e abra um Pull Request (PR).
-
Fique atento a erros na página do Pull Request (indicando que os testes de integração falharam) ou comentários dos admins. Se alterações forem necessárias, modifique o fonte e faça outro "git commit" seguido de "git push origin dev". Não é necessário fechar o PR e abrir outro.
Ao criar um novo programa, mantenha a estrutura abaixo:
desafio-01/
seu_usuario_no_github/
linguagem-feature/
arquivos com a sua solução
README.md <-- comentários, opcional.
...
desafio-02/
seu_usuario_no_github/
linguagem-feature/
arquivos com a sua solução
...
-
Linguagem é a linguagem em que o seu programa foi feito (em minúsculas). Olhe os outros casos de nomes de linguagens usadas no repo e mantenha o padrão.
-
feature é um diferenciador de uma feature dentro da linguagem. Por exemplo, dois programas em python usando duas libraries, uma chamada foo e uma chamada bar, ficariam em dois diretorios separados:
python-libfoo
epython-libbar
. Só submeta mais de uma versão por linguagem se a diferença no programa for significativa. -
Arquivos com espaços ou caracteres não ASCII (acentos, emoji, etc) não serão aceitos no repositório.
-
Apenas python3 é suportado.
-
Use espaços (não tabs!) para indentar o seu código.
-
Use indentação em 4 espaços.
-
Cheque o seu código com o pylint antes de enviar. O arquivo de configuração usado pelo depo está em
travis-ci/pylint3.rc
. Para checar o seu programa, rode:$ pylint --rcfile=<diretorio_do_seu_repo>/ci/pylint3.rc <nome_do_seu_arquivo.py>
-
Pull Requests contendo código em Python serão automaticamente verificados pelo pylint. Ao submeter um PR, observe a tela do PR e verifique se a integração falhou. Em caso de erro, clique no link e verifique as mensagens de erro do pylint. Corrija o código, faça outro submit e push.
-
O código deve ser formatado utilizando o estilo de desenvolvimento do Google.
-
O código será testado utilizando a OpenJDK VM na última versão LTS disponível.
-
Utilizamos uma biblioteca open-source disponibilizada pelo Google para verificar a formatação do código. Dentro do repositório dela há mais informações sobre como integrá-la com ferramentas como Maven e Gradle caso deseje. A versão utilizada atualmente é a 1.10.0.
-
Para formatar os arquivos de acordo com o padrão utilizado, basta seguir os seguintes passos:
$ curl -LJO "https://github.com/google/google-java-format/releases/download/v1.10.0/google-java-format-1.10.0-all-deps.jar" $ java -jar <caminho-para-o-jar-baixado>/google-java-format-1.10.0-all-deps.jar --replace <lista-arquivos-java>
-
Pull Requests contendo código em Java serão automaticamente verificados pela biblioteca indicada. Ao submeter um PR, observe a tela do PR e verifique se a integração falhou. Em caso de erro, clique no link e verifique as mensagens de erro.
-
Se precisar realizar alguma correção,faça no mesmo PR em que criou a solução original, não precisa abrir outro.
Em caso de problemas ou dúvidas, entre em contato com um dos administradores.