[Cascavel-pm] dicas de identação e marcação de códigos

Daniel Ruoso daniel em ruoso.com
Quarta Novembro 12 03:26:47 PST 2008


Qua, 2008-11-12 às 00:03 -0200, Joao Gabriel escreveu:
> eu geralmente faço assim:
> if(condição) {
>          conteudo aqui;
> }

Eu também prefiro assim... mas na verdade ainda faltou aí o espaço
depois do "if"... então eu fico mais para

if (condição) {
	...
}

e sempre com os elsif/else na mesma linha da chave fechando

if (condição) {
	...
} elsif (condição) {
	...
} else {
	...
}

A propósito, eu nunca tenho que digitar isso, porque quando eu digito
"if " no início de um statement, o emacs coloca pra mim os parenteses e
as chaves e posiciona o cursor dentro da condição, da mesma forma com o
elsif e com o else (só que no else ele já me coloca o cursor no bloco, é
claro. cperl++

Mas tem um tipo de indentação que é mais conflituosa normalmente:

Como vocês indentam uma chamada de rotina/método/função que recebe uma
estrutura de dados muito extensa como argumento? Eu, ultimamente, venho
adotando esse estilo, que funciona muito bem com a indentação automática
do emacs e que e uacho que deixa muito claro os aninhamentos da
estrutura (O código abaixo é um trecho do mildew, um compilador de Perl
6).

my $elsif = AST::Call->new
  ( identifier => string 'postcircumfix:( )',
    capture => AST::Capture->new
    ( invocant => AST::Call->new
      ( identifier => string 'new',
        capture => AST::Capture->new
        ( invocant => FETCH(lookup('Code')),
          positional => [],
          named =>
          [ string 'mold' => $elsif_part->{xblock}{pblock}{block}->emit_m0ld,
            string 'outer' => reg '$scope' ])),
      positional =>
      [ AST::Call->new
        ( identifier => string "capturize",
          capture => AST::Capture->new
          ( invocant => reg '¢SMOP__S1P__Capturize',
            positional => []))]));

daniel



Mais detalhes sobre a lista de discussão Cascavel-pm