Tais orientações são replicações das mesmas orientadas no SAPL. Entretanto, as mesmas ainda não estão totalmente ativas - principalmente o teste.
- Utilize a língua portuguesa em todo o código, nas mensagens de commit e na documentação do projeto.
- Mensagens de commit seguem o padrão de 50/72 colunas. Comece toda mensagem de commit com o verbo no infinitivo. Para mais informações, clique nos links abaixo:
- Mantenha todo o código de acordo com o padrão da PEP8 (sem exceções).
- Faça o fork deste repositório e envie pull requests. Todos são bem-vindos para contribuir. Por favor, faça uma pull request separada para cada correção ou criação de novas funcionalidades.
- Novas funcionalidades estão sujeitas a aprovação, uma vez que elas podem ter impacto em várias pessoas. Nós sugerimos que você abra uma nova issue para discutir novas funcionalidades. Elas devem ser escritas preferencialmente em Português.
- Em caso de Implementação de modelo que envolva a classe
django.contrib.auth.models.User
: - Não a use diretamente, use para isso a funçãoget_settings_auth_user_model()
desaap.utils
. Por exemplo, no lugar deowner = models.ForeignKey(User, ... )
, useowner = models.ForeignKey(get_settings_auth_user_model(), ... )
. - Não use em qualquer modelagem futura,ForeignKey
comUser
ou mesmosettings.AUTH_USER_MODEL
sem o import correto que não é o do projeto e sim o que está emsaap.utils
, ou seja (from django.conf import settings
). Em https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#referencing-the-user-model é explicado por que ser dessa forma! - Em qualquer uso em implementação de execução, ao fazer uma query, por exemplo, não usedjango.contrib.auth.models.User
para utilizar as caracteristicas do model, para isso, use esta função: django.contrib.auth.get_user_model() - Seguir esses passos simplificará qualquer customização futura que venha a ser feita na autenticação do usuários ao evitar correções de inúmeros import's e ainda, desta forma, torna a funcionalidade de autenticação reimplementável por qualquer outro projeto que venha usar partes ou o todo do SAAP.
- Antes de começar a atualizar, execute o arquivo
sync.sh
na raiz do projeto, para buscar eventuais atualizações. - Antes de enviar atualizações, sempre execute
./manage.py check
para verificar algum problema. - Para enviar as atualizações, execute o arquivo
release.sh
, que além de atualizar em seu repositório fork, também atualiza o número da versão do sistema.
Ainda é necessário implementar e testar corretamente a rotina de testes de funcionalidades no SAAP. Para isto, usar como base as orientações do SAPL.