Importância do código de formatação Especificamente Espaçamento [fechado]
-
22-08-2019 - |
Pergunta
Como é que é importante para facilitar a leitura que o código seja desta forma:
public void DoStuff()
{
var v = new Object();
v.PropertyID = "abc";
v.Type = "abc";
v.Style = "abc";
v.SetMode(Mode.Abc);
v.Draw();
}
vs.
public void DoStuff()
{
var v = new Object();
v.PropertyID = "abc";
v.Type = "abc";
v.Style = "abc";
v.SetMode(Mode.Abc);
v.Draw();
}
I tendem a gostar do primeiro estilo melhor, isso torna as coisas fáceis de ler, como você gentilmente orientar as pessoas para o primeiro e longe do último? Ou será que você não?
Solução
As pessoas realmente escrever o código que se parece com o último? Isso é um pesadelo de manutenção.
Eu diria que não é tão importante que seu código convenções de formatação são - mais que você segui-las de forma consistente. O exemplo anterior não é consistente e, portanto, ilegíveis e insustentável.
Se você está tendo problemas orientar as pessoas em direção a consistência, tê-los imaginar voltando para manter o código altamente inconsistente em um ano.
Outras dicas
O formato é muito importante, embora não essencial. I tendem a ficar um pouco irritado se eu ver o código como este último. Se você está tomando o tempo para escrever o código, certifique-se de tomar o tempo para formatá-lo corretamente.
Se fosse o meu código, eu faria assim:
public void DoStuff()
{
var v = new Object();
v.PropertyID = "abc";
v.Type = "abc";
v.Style = "abc";
v.SetMode(Mode.Abc);
v.Draw();
}
Desta forma, fica claro que as linhas são atribuições de propriedade e quais são chamadas de método.
Eu também concordo com a resposta de Jamie, que disse que "formato é muito importante, embora não essencial." O que importa é que a formatação não é tão ruim que prejudica a capacidade dos outros para lê-lo. Eu não acredito que um punhado de guias extra ou novas linhas vai fazer uma enorme diferença para um programador competente na maioria das vezes .
No segundo exemplo, suas chaves não são igualmente recuado.
O espaçamento é importante para mim ler o código. Se você escrever o código na minha empresa - Eu provavelmente vou ter que lê-lo em algum ponto. Se você não formatar seu código -. Vou usar um autoformatter para conseguir o que eu preciso
O estilo é extremamente importante quando se trabalha em equipe. Por isso, não importa o estilo que você escolher, apenas certifique-se todos concordam sobre ele .. e, em seguida, fazer cumprir o acordo. Defina o seu IDE para auto-format seu código .. e fazer IDE certeza de todos é definir o mesmo.
Se você quer ser gentil, dar-lhes código completo para ler. Se você quer ser mau, introduzem erros sublte como este em seu código:
if (x==y);
DoSomething(); else
DoSomethingElse();
while(Whatever)
SomeFunction();
(Se eles encontrarem o bug em menos de um dia, você não está sendo sublte suficiente.)
Eu prefiro o seu espaçamento, embora eu faria um pouco diferente. Eu acredito que a pergunta mais importante é como convencer alguém a sua abordagem é melhor: Código de formatação pode ser muito subjetiva. Algumas pessoas se opõem, porque leva muito tempo para obter direito. Outros objeto porque a equipe não tem nenhum padrões de codificação. Alguns objeto porque a sensação é amontoados em seus pescoços.
O melhor método é trabalhar com sua equipe para construir consenso de que a sua abordagem particular é a melhor prática. Isso é verdade se você é o chumbo, ou se você é um contribuinte individual.
Uma vez que o consenso da equipe é geralmente aceite (pode não ser universal), então eu acho que as revisões de código são o melhor lugar para garantir que a equipe práticas sejam seguidas. Eu sugiro que você vai encontrar a pressão social é a maneira mais eficaz para encorajar outras pessoas a seguirem uma melhor prática aceita. O encurralamento muitas vezes é verdade; é difícil para uma pessoa para conduzir esse tipo de coisa na equipe sem consenso.
Aqui estão algumas das minhas respostas StackOverflow relacionados
Como já foi dito, o primeiro exemplo é a norma; o segundo difere dele.
Além disso, certifique-se todos os que trabalham no mesmo conjunto de arquivos tem a mesma convenção para o que é um 'guia' é. É melhor para definir isso como um número de espaços e para garantir que todos de editores de texto e de IDE concordar.
Ele fica chato quando três ou quatro pessoas estão trabalhando no mesmo repositório SVN e editar cada arquivos com diferentes convenções de espaçamento.
A segunda maneira realmente não guia bem. Evitá-lo.
Eu também acho que as pessoas tendem a se empolgar com a formatação assim. Em um mês, um outro cara vai vir e quer este formato
public void DoStuff()
{
var v = new Object();
v.PropertyID = "abc";
v.Type = "abc";
v.Style = "abc";
v.SetMode (Mode.Abc);
v.Draw ();
}
Esta chega a ser muito bobo e bastante difícil de trabalhar.
Se as pessoas estão de codificação assim, pergunta o seu raciocínio e programação habilidade.