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

Nilson Santos Figueiredo Junior acid06 em gmail.com
Quarta Novembro 12 05:15:47 PST 2008


2008/11/12 Luis Motta Campos <luismottacampos em yahoo.co.uk>:
> O Nélson tem um bom ponto aqui: é melhor para o programador se ele puder
> ver o nome da chave em primeiro plano (mais à esquerda) claramente, e
> contar com a identação para saber o que está contido onde.

Concordo.

For the record, isso seria um exemplo de código com o meu estilo de
identação de hashes, condicionais e SQL:

  if ( cond ) {
      my %hash = (
          key => {
              subkey => 'value'
          },
          array_key => [
              qw/val1 val2 val3 val4/
          ],
          other key => 'other value'
      );
  }
  else {
      my $sql = << ENDOFSQL;
SELECT
  field1, field2, field3, field4,
  field5, field6, field7, field8
FROM
  table1 t1
JOIN
  table2 t2
    ON (t2.id = t1.id)
  table3 t3
    ON (t2.id = r3.id
WHERE
      t1.field = 'some value'
  AND t3.field = 'other value'
  OR (
        t2.id > 1000
    AND t2.value = 'special value'
  )
ORDER BY field1, field2, field3;

ENDOFSQL

      $obj->run( $sql, {
          additional_params => [1, 2, 3],
          foo => 'bar'
      } );
  }

A única exceção é que, no caso de um condicional muito longo, que vá
além de 80 colunas, eu faria o if assim:

  if (    $cond1 > $cond2
      && $cond3 < $con4 )
  {

  }

Mas eu acho isso meio feio. De qualquer forma, é melhor que acabar com
uma linha com 43242 colunas. ;-)

-Nilson


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