A equipe de P&D em que participei decidiu adotar um padrão de codificação. Recentemente, formamos e temos muito pouco código e tempo comum de codificação para basear nosso documento de normas / convenções no que foi desenvolvido organicamente em nossa equipe e em bons exemplos de nosso próprio código etc.
Agora, cada um de nós tem alguma experiência em locais de trabalho anteriores - embora nenhum de nós esteja no estado de dizer "vamos adotar este documento aqui abrangente que eu acho adequado para o tipo de trabalho que fazemos aqui" (*). Além disso, alguns de nós (inclusive eu) só temos experiência em locais sem padrão oficial de codificação ou escrevendo em idiomas diferentes em um ambiente diferente (ambiente de produção de alta pressão semanal, em oposição a um trabalho de desenvolvimento mais orientado à pesquisa)
Portanto, uma das opções em que estive pensando é pegar um documento relativamente conhecido e bem considerado, cortando o que não interessamos / importando e fazendo algumas modificações com base em nossas preferências.
Isto é uma prática comum? Você acredita que essa é uma boa ideia? Nesse caso, qual seria um padrão de codificação de linha de base razoável (não me diga qual é o melhor, não quero iniciar um conflito religioso aqui; apenas aponte o que seria abrangente ou 'neutro' o suficiente para se basear .)
Notas:
- Esperamos trabalhar com C, C ++, OpenCL, CUDA, Python.
- Somos uma equipe de 4 pessoas + gerente, que deverá crescer para cerca de 5-6 dentro de um ano ou mais.
- Em nossa empresa, as equipes são quase totalmente autônomas e geralmente não interagem (nem mesmo usando o código uma da outra - o trabalho é em projetos totalmente diferentes); então - não há considerações em toda a empresa a serem feitas.
- Com relação às ferramentas, no momento o que sabemos é que vamos usar o Eclipse , portanto, seu formatador de código será pelo menos uma ferramenta. Ctrl + Shift + F tem sido meu amigo
- Quando escrevo Java, adotei a prática de aderir o mais estritamente possível ao Java eficaz de Bloch . Agora, esse não é um padrão de codificação, mas você pode chamar alguns tijolos, cimento e argamassa para um padrão de codificação. Eu estava pensando em incluir algo assim como parte do 'mix' (lembrando que não fazemos Java).
- Quero dizer padrões de codificação no sentido mais amplo da palavra, por exemplo, adotar sugestões feitas nas respostas a esta pergunta P.SE .
- Encontrei uma grande lista de documentos de padrões de codificação em C ++ ; talvez eu deva usar essa nossa linha de base.
- (*) Isso não é bem verdade, mas não quero complicar essa pergunta com muitos detalhes.