Att konvertera all kod enligt vad du skrivit verkar... jättekonstigt.
Framförallt med just variabelnamn... var bara consistent genom all kod du
skriver. Om du skall skicka patchar så skall du dock anpassa dig efter rådande
stil, annars blir de garanterat inte accepterade.
FooBar är PascalCase och det är rätt ovanligt. Vanligare är camelCase (fooBar),
vilket jag stött på mest i Java, javascript och dylika skrämmande ting.
Mina högst perlsonliga åsikter är foo_bar över fooBar / FooBar (eller andra
idiotiska ting så som FOOBAR / FoObAr (ja... det finns folk som gör så. Jag
skriver om ett annars väl fungerande program från scratch där upphovsmakaren har
noll consistency rakt igenom, just på grund av att det är helt omöjligt att
maintaina)), trots att det kan anses vara osexigt.
Jag föredrar också foo(bar()) över foo bar (sistnämnda ej legal i C dock) och
jag brukar generellt parantesera ordentligt då jag anser att det ger en bättre
överblick (jag är dock ingen lispare).
Det är en annan sak vad gäller indentering (K&R vs GNU vs Linux vs Allman etc).
Jag vet inte hur det förehåller sig med C eller andra språk, men som alla känner
till så är Perl magiskt, se på detta:
Kod: Markera allt
%z=(f=>[106,97]);
%f=(f=>sub{return
sprintf"%sa%s%s%sp%.dh,
",chr@{$z{f}}[0]},);
printf("%s","@{[$f{f}->()]}");
Och så lite applicerar vi lite magi:
Kod: Markera allt
> perltidy japh5.pl
%z = ( f => [ 106, 97 ] );
%f = (
f => sub {
return sprintf "%sa%s%s%sp%.dh,
", chr @{ $z{f} }[0];
},
);
printf( "%s", "@{[$f{f}->()]}" );
Eller:
Kod: Markera allt
$c='python';$_=`printf hack`;$_=~s;ck;;;;$c=~s%^(?!\x68)(.)(?2)(?1)(.)(?1)(?2)(?<!.{4}h)$%$2%;print j.substr($_,1),p,$c.",\n"
Och:
Kod: Markera allt
$c = 'python';
$_ = `printf hack`;
$_ =~ s;ck;;;
$c =~ s%^(?!\x68)(.)(?2)(?1)(.)(?1)(?2)(?<!.{4}h)$%$2%;
print j. substr( $_, 1 ), p, $c . ",\n"
Med perltidy så kan du skapa profiler enligt exakt din egen, personliga stil.
Detta gör alltså att när du skall patcha någon annans kod, kan du köra den
genom detta magiska filter först, editera outputten, som ser ut precis som om
du själv skulle skrivit det, och, när du är klar, återställa enligt den stil
skaparen använder sig av.
Mycket smidigt då det, förutom den vanliga irritationen över att folk inte kodar
som folk, även kan bli praktiska problem (tabs vs spaces t.ex).
Angående 'autocompletion', vim har en strålande sådan som inte bara sträcker sig
över aktuell fil, se:
Men nu kanske jag gled iväg lite...