Eu trabalho em uma equipe pequena, cerca de 10 desenvolvedores. Não temos nenhum padrão de codificação. Há certas coisas que se tornaram a norma, mas algumas maneiras de fazer as coisas são completamente díspares. Meu grande problema é o recuo. Alguns usam guias, outros usam espaços, outros usam um número diferente de espaços, o que cria um enorme problema. Costumo ter conflitos quando mesclo porque alguém usou seu IDE para formatar automaticamente e usa um caractere diferente para recuar do que eu. Eu não me importo com o que usamos, só quero que todos usemos o mesmo.
Caso contrário, vou abrir um arquivo e algumas linhas têm colchetes na mesma linha que a condição, enquanto outras as têm na próxima linha. Mais uma vez, não me importo com qual, desde que sejam todos iguais.
Trouxe a questão dos padrões ao meu gerente direto, individualmente e em reuniões de grupo, e ele não está muito preocupado com isso (existem vários outros que compartilham a mesma opinião que eu). Eu levantei minha preocupação específica com os caracteres de indentação e ele pensou que uma solução melhor seria "criar algum tipo de script que pudesse converter tudo isso quando pressionamos / retiramos do repositório". Suspeito que ele não queira mudar e essa solução parece excessivamente complicada e propensa a problemas de manutenção no futuro (isso também aborda apenas uma manifestação de um problema maior).
Algum de vocês já passou por uma situação semelhante no trabalho? Se sim, como você lidou com isso? Quais seriam alguns bons pontos para ajudar a vender meu chefe nos padrões? Seria uma boa idéia iniciar um movimento de base para criar padrões de codificação, entre os interessados, Estou sendo muito especial, devo deixar para lá?
Obrigado a todos por seu tempo.
Nota: Obrigado a todos pelo ótimo feedback até agora! Para ser claro, não quero ditar um estilo para governá-los todos. Estou disposto a admitir minha maneira preferida de fazer algo em favor do que melhor se adapte a todos. Quero consistência e quero que isso seja uma democracia. Quero que seja uma decisão de grupo em que todos concordem. É verdade que nem todos conseguirão o que querem, mas espero que todos sejam maduros o suficiente para comprometer a melhoria do grupo.
Nota 2: Algumas pessoas estão se envolvendo nos dois exemplos que dei acima. Estou mais atrás do cerne da questão. Ele se manifesta com muitos exemplos: convenções de nomenclatura, grandes funções que devem ser desmembradas, algo deve ser executado em um utilitário ou serviço, algo deve ser constante ou injetado, todos devemos usar versões diferentes de uma dependência ou a mesma, A interface deve ser usada para este caso, como os testes de unidade devem ser configurados, o que deve ser testado, (específico para Java), devemos usar anotações ou configurações externas. Eu poderia continuar.