• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vbmaster

Estilos de Identação

Como identas o teu código no que toca às chavetas   42 membros votaram

  1. 1. Como identas o teu código no que toca às chavetas

    • Por baixo da função
      20
    • À frente da função
      21
    • Misturo os dois
      0
    • Outro
      1

Please inicie sessão ou registe-se para votar.

37 mensagens neste tópico

Após um semestre inteiro de Algoritmos e Estruturas de Dados fiquei com uma dúvida extremamente importante no que toca às linguagens de programação c-alike, onde é mais correcto colocar a { no íncio da declaração de uma função. Por exemplo:

int main ()

{

}

ou

int main () {

}

Haverá algum estilo mais correcto que o outro?

Qual usam?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

À frente da função claro. Acho que não há 1 + correcto que o outro, cada pessoa tem o seu estilo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Toma lá! E mai nada!

Deixa lá que o UNIX Ident está do nosso lado...!

EDIT: Bem como as convenções do Java...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Digam lá que isto não é muito mais agradável de ler:

#include <stdio.h>

void lolar(){
printf("LOL!");
}

int main() {
int counter,   // counter
    votos = 0; // nr de votos

scanf("%d", &counter);

for(; votos < counter; ) {
	printf("ois %d bichas! \n", counter);
	votos += counter;
}

lolar();

return 0;
}

edit by vbmaster: acrescentei a alternativa

#include <stdio.h>

void lolar()
{
printf("LOL!");
}

int main() 
{
int counter,   // counter
    votos = 0; // nr de votos

scanf("%d", &counter);

for(; votos < counter; ) 
{
	printf("ois %d bichas! \n", counter);
	votos += counter;
}

lolar();

return 0;
}

Deixa lá que o UNIX Ident está do nosso lado...!

Unix é proprietário, therefore UNIX Ident shall burn!
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu prefiro as chavetas que na mesma linha da função/if/etc.

Principalmente por um motivo, linhas de código. Desta forma gasta menos linhas de código, ou seja, num ecrã uma pessoa visualiza uma maior quantidade de lógica.

E depois porque é mais agradável à vista, mas isso deve ser por estar mais habituado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nas funções/métodos meto as chavetas debaixo.

Nos for, if, e etc meto-as ao lado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu meto sempre por baixo, pois não gosto de ter a primeira linha do bloco colada à linha de cima. Desta forma, penso que o código fica mais legível, pois é mais fácil identificar os vários blocos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Costumo colocar sempre à frente. Não gosto de ver linhas vazias ou só com 1 chaveta. Parece-me uma mania pseudo-leet de dizer "Ah tenho mais linhas de código do que tu!" ou "Eish este meu programa, já viste, 3000 linhas de código!". Claro que isto é só em alguns casos. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não há forma mais correcta, desde que sejamos coerentes ao longo de todo o código.

Já agora, coloco à frente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Costumo colocar sempre à frente. Não gosto de ver linhas vazias ou só com 1 chaveta. Parece-me uma mania pseudo-leet de dizer "Ah tenho mais linhas de código do que tu!" ou "Eish este meu programa, já viste, 3000 linhas de código!". Claro que isto é só em alguns casos. :P

É mesmo essa a razão pela qual coloco à frente! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Indentação.

Acho que é um bocado relativo, eu peguei a tua moda no 12º ano e agora ponho tudo da primeira que tu mostras, por baixo.

Há vários estilos:

http://en.wikipedia.org/wiki/Indent_style

Em relação a ser indentação ou não. A palavra original inglesa é indent, no entanto, em Portugal, a maioria das pessoas (pelo menos das que conheço e são algumas) dizem identação, por isso, talvez venha a sofrer uma alteração por via popular. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em relação a ser indentação ou não. A palavra original inglesa é indent, no entanto, em Portugal, a maioria das pessoas (pelo menos das que conheço e são algumas) dizem identação, por isso, talvez venha a sofrer uma alteração por via popular. :P

Acho que não podemos falar em alteração, visto que a palavra ainda não existe (seja com n ou sem n).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende da equipa de programação e da linguagem

A forma como escrevo o código vai depender da equipa/projecto, é comum cada equipa ou cada projecto ter um guia de programação que deve ser seguido, e as linguagens possuem recomendações ou guias de escrita de código. Desta forma o código é simples de ler para quem está habituado à linguagem.

Por isso, por baixo, em frente, ou misturado, vai depender da situação. Por muito que goste das regras do Java, as quais considero das melhores, existem situações onde aplicar essas regras iria causar mais problemas que soluções, logo, tudo vai depender do que estamos a fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu dou-me ao trabalho de, sempre que instalo o Visual Studio, alterar as definições de auto-indentação do C# para meter as chavetas todas à frente das funções, ciclos e afins. Isto porque nunca guardo as definições... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Utilizo as chavetas em baixo das funções apenas. De resto utilizo tudo à frente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não podemos falar em alteração, visto que a palavra ainda não existe (seja com n ou sem n).

Eu quando falei em alteração era na medida em que a palavra, se chegar ao Português, nem chegue a receber o n do Inglês...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Utilizo por baixo da função.

Por nenhuma razão em especial, apenas hábito mesmo.

Antes de chegar à faculdade utilizava à frente, depois, não sei bem porquê, comecei a colocá-las em baixo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu dou-me ao trabalho de, sempre que instalo o Visual Studio, alterar as definições de auto-indentação do C# para meter as chavetas todas à frente das funções, ciclos e afins. Isto porque nunca guardo as definições... :P

Deixaste-me curioso.. Como é que mudas as regras de auto-indentação? Eu só consegui ligar ou desligar, não sei como por o VS  a auto-indentar as chavetas de forma diferente. Da ai umas dicas please...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tools -> Options -> Text Editor -> Presumo C# (ou então All Languages)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu gosto por baixo :P

sempre... funçoes if whiles propriedades... todos os { e } teem direito a uma linha propria :P da me mais geito para organizar o meu codigo .... se nao é uma confusao e depois se ja tou a' horas a trabalhar tenho tendencia para me esquecer de abrir ou fechar ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixaste-me curioso.. Como é que mudas as regras de auto-indentação? Eu só consegui ligar ou desligar, não sei como por o VS  a auto-indentar as chavetas de forma diferente. Da ai umas dicas please...

Tools -> Options -> Text Editor -> Presumo C# (ou então All Languages)

É isso, mas só mesmo em C#. Depois é -> Formatting -> New Lines. Mas isso já lá devias chegar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cool :P Nunca tinha explorado muito o VS nesse sentido e permite uma customização brutal.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora