Não há nada de errado com o estilo anterior ( estilo K & R ) (desde que seja indentado). É muito usado em linguagens com este tipo de sintaxe (C, Java, Perl) .
É, por exemplo, a norma Java e bastante legível IMO (desde que indentada corretamente). [ Como o mql4 toma muito emprestado da sintaxe do estilo C, acho que mencionar estas outras linguagens é relevante ]
No entanto, deve ser indentada:
if(a==b){
Dothis;
Dothis;
etc;
}
O 2º exemplo ( estilo Allman ) também é preferido por alguns, e é geralmente aceite para ser mais legível (mais uma vez com indentação correta).
if(a==b)
{
Dothis;
Dothis;
etc;
}
mas o método que você parece dispensar é bastante popular em outros lugares (por razões de legibilidade)
Seu último exemplo não me agrada em nada.
O estilo allman também é mais fácil de identificar os aparelhos que faltam, especialmente em árvores complexas, se mais.
O estilo Brace é uma preferência dos programadores, não há realmente nenhum método certo ou errado Imo. O estilo K&R é o melhor ;-). Por que pegar uma linha extra para um brace de abertura .... o que realmente me interessa é a que se (declaração) pertence. Exemplo o que parece melhor e mais fácil de entender.
if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { } } } } } } } } } }
Ou esta versão:
if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ } } } } } } } } } }
E ainda melhor ainda.
if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) returnImo, a última versão parece mais natural à forma como eu escrevo na vida real. Linha por linha.
Eu o faço assim:
if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) }}}}}}}}}
Eu gosto da discussão.
E quanto à preferência em codificar a outra afirmação. Eu prefiro o primeiro exemplo, embora alguns editores não possam dobrar/dobrar tais blocos. O segundo é um compromisso. O terceiro é ainda mais consistente, mas ilegível.
if (cond) { command; } else if (cond) { command; } else { command; }
O segundo exemplo é um compromisso.
if (cond) { command; } else if (cond) { command; } else { command; }
ou
if (cond) { command; } else { if (cond) { command; } else { command; } }
Eu não uso mais muito mais. Houve um problema em que fui obrigado a usar outro há algum tempo (não consigo me lembrar do problema). Quando usei outra coisa, foi algo assim.
if (cond) { command; } else if (cond) { command; } else { command; }
Agora, por mais que meu primeiro ensinou sobre codificação, algo como o acima seria.
if( cond ){ command; return; } if( cond ){ command; return; } command;
Sim, eu vou transformar um código de três_ linhas em uma função 8)))
eu faço, se assim não for
Até certo ponto não importa, o principal que importa é a consistência na aplicação do estilo escolhido ... todos nós temos nossas próprias preferências, é claro
Concordo com o Raptor. Tópico sobre nada. Fico muito mais frustrado quando as pessoas postam seu código aqui sem usar o SRC. Como eles codificam seu programa depende deles, a menos que eles vão pedir ajuda.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Vejo isso muitas vezes quando as pessoas postam seu código.
if(a==b){ Dothis; Dothis; etc; }
Agora, isto não é um problema ao ler pedaços curtos do código de outras pessoas.
Mas, quando eles são muitos códigos, isso pode tornar quase impossível segui-los.
Eu pensaria que muitos teriam dificuldades para encontrar erros em seu próprio código.
Por que não isto?