Só quero compartilhar o que escrevi hoje para o Código de Ética de nossa equipe. Este texto vai no nosso projeto README.md
.
Esta lista é algo que construímos e aprendemos nos últimos anos (alguns aprendemos recentemente). Embora já existamos por 4 a 5 anos, esses princípios, fluxo de trabalho e processo têm sido eficazes até agora sobre como estamos lidando com nosso projeto recente com o tamanho da equipe atual de 7 desenvolvedores. Slack é o principal motor de todas as coisas. Os efeitos para sua equipe podem variar.
Código de Ética
- Comunique-se sempre. Esteja sempre online no Slack.
- Sempre trabalhe com uma solicitação pull. PRs de longa duração são bem-vindos, mas marque-os com [WIP] para que não os mesclemos.
- Siga os princípios de fluxo do git.
- Sempre trabalhamos com um Milestone. Veja o marco atual aqui https://github.com/organization/project/issues/milestones link alterado propositalmente
- Não hesite em revisar o trabalho de outras pessoas. Sempre bem-vindo as críticas.
- Sempre faça com que seu código de RP seja revisado por outra pessoa. Não faça a mesclagem automática, a menos que seja seriamente necessário (como um bug crítico que precisa ser implantado o mais rápido possível).
- Sempre mantenha seu PR atualizado. Faça rebase com freqüência.
- Adoramos screenshots do trabalho, compartilhe-nos em que você está trabalhando. Ajuda o revisor de código a entender melhor o seu trabalho.
- Siga as melhores práticas de Ruby / Rails.
- Siga os guias de estilo Ruby https://github.com/bbatsov/ruby-style-guide
- Seja consistente com a maneira de fazer as coisas das outras pessoas, mas fique à vontade para discutir melhorias.
- Esteja sempre testando. Não exigimos 100% de cobertura de teste, mas levamos os testes muito a sério.
- Se você não puder escrever imediatamente um teste para um método, certifique-se de ainda escrever um caso de teste e apenas colocá -lo para que você ou outra pessoa possa retornar a ele mais tarde.
pending 'explain the reason why'
- Codeclimate está relatando 90% de cobertura de código. Nós adoramos se você continuar assim. Abraço de equipe se você aumentar.
- Não precisamos que nosso código tenha muitos comentários. Um bom código é como uma boa piada, não precisa de explicação. Em vez disso, torne seu código legível.
- Colocamos mais peso na clareza do código.
- Amamos a metaprogramação, mas paramos a metaprogramação apenas por fazê-la sem nenhum valor agregado. Novamente, clareza de código.
- Faça uso de ANOTAÇÕES especiais como # TODO :, FIXME :, OPTIMIZE: para
rake notes
poder selecioná-lo. - Codeclimate para odores de código e problemas de segurança.
- Encontrou um bug? Não espere. Arquive imediatamente os problemas do github! Somos notificados instantaneamente de qualquer maneira.
- Adoramos Leeroy Jenkins http: // jenkins-url
- Jenkins para CI. http: // living-on-the-edge-testing-url / para ver a versão mais recente do Jenkins.
- Na dúvida, pergunte no Slack.
- Evite ser um bloqueador para seus companheiros.
- Pontos de bônus por ser pró-ativo.
- Finalmente, seja um bom companheiro de equipe.
Ferramentas
Slack – Não posso enfatizar mais como o Slack melhorou nosso fluxo de trabalho de desenvolvimento e nossa capacidade de manter um sistema tão bom de comunicação e integração entre nossas ferramentas de terceiros e internas. Também é uma ótima maneira de compartilhar capturas de tela, trechos de código, arquivos e gifs engraçados. Emoticons personalizados são incríveis 🙂 – Todos os github, jenkins e notificações de erro são transmitidos constantemente para diferentes canais do Slack, mantendo-nos informados do que está acontecendo.
Github Milestones & Issues são muito eficazes na organização de nosso backlog atual. Agora estamos usando o Github totalmente e monitorando os recursos por meio de um PR. Ainda usamos o Pivotal Tracker em outros projetos, mas podemos ter que descartá-los no futuro.
Evernote para anotações. Temos um bloco de anotações compartilhado que sincroniza com o resto da equipe. A principal ferramenta que nosso stakeholder está utilizando. Acompanhamos as definições de recursos, planejamento de Sprint e Milestone em um bloco de notas Evernote. É muito fácil de manter e pode-se simplesmente continuar trabalhando, mesmo offline.
Codeclimate definitivamente é um Overlord quebrando o ego que constantemente nos lembra que nós, humanos fracos, precisamos agir juntos.
Appsignal para notificações de erro. Esses caras são os melhores!
Esteja pronto para críticas
Se você estiver trabalhando com uma equipe, espero que considere esta lista útil e fique à vontade para discuti-la. É sempre um trabalho em andamento e fico feliz em discuti-los com as pessoas da comunidade.
Siga-me no Twitter como @jasontorres