Ejemplo de los tipos de indentación, tomados del capítulo 2.10 del PBP.
Indentación de 8 caracteres, que garantiza la misma presencia en todas partes (otros editores, la salida estándar del shell, impresoras, etc.)
Using perl Syntax Highlighting
while (my $line = <>) {
chomp $line;
if ( $line =~ s{\A (\
s*) -- ([^\n]*) }{$1#$2}xms ) {
push @comments, $2;
}
print $line;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
El problema es que no puedes poner más que unos pocos niveles de indentación, antes de escaparte por el margen derecho.
Indentación con dos caracteres:
Using perl Syntax Highlighting
while (my $line = <>) {
chomp $line;
if ( $line =~ s{\A (\
s*) -- ([^\n]*) }{$1#$2}xms ) {
push @comments, $2;
}
print $line;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
El problema con esta indentación es que es muy complicada para aquellos que hayan superado los 30 años (es lo que dice el libro).
Indentación con 4 caracteres:
Using perl Syntax Highlighting
while (my $line = <>) {
chomp $line;
if ( $line =~ s{\A (\
s*) -- (.*)}{$1#$2}xms ) {
push @comments, $2;
}
print $line;
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La preferida por estar en medio de los dos valores.
El capítulo 2.11 se dedica al tabulador, que se recomienda usarlo como 8 caracteres en blanco, para garantizar que la presentación es la misma en todos los dispositivos de salida.
Presenta las opciones a usar dentro del vim:
- Código: Seleccionar todo
set tabstop=4 "An indentation level every four columns"
set expandtab "Convert all tabs typed into spaces"
set shiftwidth=4 "Indent/outdent by four columns"
set shiftround "Always indent/outdent to the nearest tabstop"
y para emacs:
- Código: Seleccionar todo
(defalias 'perl-mode 'cperl-mode) ;; 4 space indents in cperl mode
'(cperl-close-paren-offset -4)
'(cperl-continued-statement-offset 4)
'(cperl-indent-level 4)
'(cperl-indent-parens-as-block t)
'(cperl-tab-always-indent t)
Hay más reglas interesantes, sobre reglas de formato, en el PBP. Incluye también las opciones para perltidy y formatear de forma automática el código fuente (recomendación 2.22).
Y algo que no se comenta, y es muy importante, es la separación entre líneas, pero eso se resuelve usando un tipo de letra adecuado, como la Terminus.