Primeiro, um pouco de histórico: meu atual gerente de desenvolvimento está aproveitando outra oportunidade no final desta semana, deixando nossa equipe com quatro desenvolvedores em período integral, um estagiário em período parcial e um web designer (que é tecnicamente parte do Marketing, não do AppDev). No momento, não estamos promovendo ou contratando um novo gerente.
O gerente anterior nunca teve tempo para criar um conjunto de padrões de codificação a seguir (para colocar isso em perspectiva: meu aniversário de um ano neste trabalho é daqui a duas semanas e eu converso com ele sobre padrões desde Eu comecei). Devido a isso, todos nós, quatro desenvolvedores, escrevemos código da nossa maneira: alguns de nós seguem as convenções de nomenclatura da Microsoft para .NET, alguns usam notação húngara, outros usam uma mistura (por exemplo, mixagem PascalCase
e camelCase
nomes de parâmetros) e é totalmente aleatório quando você abre um arquivo de código que padrão ele seguirá - a única coisa consistente é que as chaves estão em linhas separadas.
Dois dos meus três colegas de trabalho entraram em contato comigo para criar um documento de codificação padrão que podemos usar e forçar a avançar (embora eu não seja tecnicamente o desenvolvedor mais sênior, o quarto desenvolvedor está aqui há vários anos, dois colegas de trabalho e o estagiário procura aconselhamento / orientação, mas não temos um líder de equipe). Eu pretendo fazer isso há algum tempo, mas o gerente que partia sempre o colocava em segundo plano; sua partida agora nos dá a chance de levar algum tempo e configurar as coisas corretamente para facilitar um ambiente de software adequado e não a mistura apressada que temos atualmente.
Como devo fazer isso e apresentar esse padrão à minha equipe sem causar atrito? Não quero que pareça que estou "assumindo o controle", embora me oferecessem o cargo de gerente que aceitaria. Como eu disse, dois de três outros desenvolvedores estão a bordo comigo, criando um, mas o quarto (o verdadeiro "senior" em questão de tempo) pode ou não aceitá-lo. Eu pretendo começar com as convenções .Net da Microsoft (por exemplo, não use a Notação Húngara), adicionar algumas preferências pessoais (por exemplo, _camelcase
para campos) e chamar especificamente determinadas práticas estranhas que usamos aqui como não devem ser usadas (por exemplo, nomear uma classe com sublinhado no início), mas o que mais devo incluir? Eu não quero entrar em diretrizes arquitetônicas como que vontade causam atrito e temos uma base de código existente muito grande e fedorenta que não iria aderir a ela, e não estamos nem perto de chegar a uma estratégia de refatoração.
Para resumir: Além das convenções básicas de nomenclatura, o que devo incluir em um documento sobre padrões de codificação (os exemplos seriam ótimos - não consegui encontrar exemplos concretos de como deve ser esse documento) e como devo apresentá-lo à minha equipe sem parecer o novo ditador.