Vi recentemente que a Microsoft lançou um documento sobre padrões de codificação (padrões de codificação da estrutura de código da Multifuncional ) e isso me fez pensar ... A empresa em que trabalho não possui padrões formais de codificação. Existem apenas alguns desenvolvedores e estamos juntos o tempo suficiente para evoluir para estilos semelhantes e isso nunca foi um problema.
A empresa em que você trabalha possui padrões de codificação documentados? Se não, por que não? Ter um padrão faz a diferença? Vale a pena escrever um padrão do zero ou você deve adotar outro padrão como o seu (por exemplo, tornar os padrões da Microsoft seus)?
coding
coding-standards
Walter
fonte
fonte
Respostas:
É importante que uma equipe tenha um único padrão de codificação para cada idioma para evitar vários problemas:
Sou um grande fã do que o tio Bob tem a dizer sobre os padrões:
fonte
Eu acho que é essencial ter um padrão de codificação, mesmo se tudo o que diz é "usamos recuo de 3 espaços e os colchetes abertos vão para a próxima linha". Alguns benefícios:
Em termos de adotar um padrão existente, isso realmente não importa - a consistência é o que é importante. Se seus desenvolvedores tiverem uma dúzia de estilos diferentes, é melhor escolher um já publicado. Se todos vocês evoluíram para um estilo bastante consistente, basta escrever isso e usá-lo.
fonte
Eu não concordo com o "somos uma loja X", portanto formamos nosso código em todos os idiomas da mesma maneira.
Pessoalmente, descobri que a maioria dos idiomas possui diferentes estilos aceitos.
Eu realmente não suporto quando programadores C escrevem código Java com formatação C. Não apenas não se parece com Java, mas os engana a pensar que podem usar outras práticas semelhantes a C em Java.
Eu acho que se você tem um padrão, deve ser por idioma
fonte
Meu ex-empregador tem um padrão de codificação. Estou pensando em documentar formalmente um para mim também.
Ou, como você sugere, encontrar um padrão existente decente e modificar / adotar isso. Para uma empresa, eu certamente sugeriria que analisassem os padrões de codificação existentes, mas criassem / modificassem um para suas próprias necessidades particulares. Não há necessariamente a necessidade de criar uma a partir do zero, mas alguns cuidados devem ser tomados para garantir que o padrão de codificação faça sentido para o tipo de software que a empresa cria.
Sim, ter um padrão de codificação faz a diferença, mas não é uma bala de prata. O código é mais legível, pois não há tantos conflitos de estilo diferentes e alguns erros / armadilhas comuns podem ser evitados. Mesmo com um padrão, você terá algumas variações nos estilos de codificação, mas essa variabilidade será reduzida. O objetivo não é tentar evitar todas as variações ou se preparar para todas as situações possíveis. Um padrão de codificação muito complicado pode ser pior do que nenhum.
fonte
Infelizmente não. Então, todo mundo tem seu próprio jeito de usar espaçamento, recuo e assim por diante, tudo misturado (dessa forma, nem precisamos usar a função "culpa" para saber quem é o autor de uma linha de código!)
Mas, pior ainda, alguém escreve nomes de variáveis e classes em italiano, alguém em inglês ...
Eu sempre adapto meu estilo ao da linguagem, biblioteca e estrutura que estou usando, para que um código-fonte pareça uniforme e simples.
fonte
Lembre-se de que este é um documento de padrões de codificação específico para o All-In-One Code Framework.
Já trabalhei em várias empresas, algumas das quais tinham um padrão existente e outras (a maioria) ajudaram a desenvolver o padrão. Na maioria das vezes, se você estiver desenvolvendo o .NET, (e mesmo que não esteja, a maioria das regras ainda se aplica), consulte as Diretrizes de Design do Framework . Embora isso seja específico para a criação de APIs voltadas ao público, a maioria das diretrizes se aplica igualmente a qualquer código.
A maior preocupação com os padrões de código é mantê-lo relativamente simples e direto. Você deseja que os desenvolvedores possam internalizar as diretrizes apresentadas, portanto, é inútil fornecer um documento com mais de 50 páginas. Você ainda pode criar esse documento se desejar fornecer informações básicas, exemplos etc., mas também desejará algo que se refira a um conjunto de diretrizes com marcadores. Seu padrão de codificação também deve ser um documento dinâmico e flexível que precisa mudar à medida que a tecnologia muda.
fonte
As discussões do padrão de codificação se resumem a isso:
Se você estiver desenvolvendo em C # no Visual Studio, o StyleCop é uma vantagem . Se você também estiver usando o ReSharper, o plug-in StyleCop for ReSharper é incrível.
fonte
Como somos uma loja de blub, usamos as convenções de programação de blub.
Agora, Paul Graham e seus amigos são muito mais espertos do que nós, mas nós, programadores de blub, todos podemos ler blub uns dos outros, na verdade, qualquer programador de blub pode ler nosso código de blub.
De fato, devido ao design do blub, qualquer programador de blub pode ler e entender qualquer arquivo blub único, porque o blub não possui um sistema de macro.
Se programarmos, digamos, C ou C ++ (somos todos multilíngues, mesmo que programamos em blub), usamos principalmente o estilo blub para novo código ou para código aberto, o padrão do projeto em que estamos trabalhando.
fonte
Você precisa de um padrão. Vi padrões diferentes nos diferentes cantos de um aplicativo que tinham leads diferentes que todos queriam fazer "do jeito deles". Talvez o conceito de "padrão" tenha sido mal compreendido. Muito louco. E, os piores padrões são gerados por uma pessoa. Não importa quem é essa pessoa, se apenas uma pessoa desenvolver o padrão, é quase certo que ele seja ruim.
fonte
Pode ajudar as pessoas, também pode realmente ajudar com ferramentas:
Se você deseja usar qualquer tipo de formatação automática de código, você realmente precisa padronizar as regras que ela usará; caso contrário, você estará constantemente recebendo muitas alterações de formatação sem sentido, sobrecarregando suas diferenças.
Os conjuntos de regras padrão para ferramentas de análise estática podem muito bem verificar um estilo de nomenclatura específico e, provavelmente, é mais fácil se conformar com isso e escrever um monte de novas regras. (a menos que você simplesmente desative a regra)
por fim, é bom padronizar qualquer coisa que precise ser consultada com alguém de fora da sua equipe. ou seja, você provavelmente deseja um aviso de direitos autorais padrão em seus cabeçalhos, pois não deseja executar todos os novos arquivos gravados pela equipe jurídica da empresa e certamente deseja obter os nomes de qualquer API pública da primeira vez
fonte