Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ec63079e

Von Sven Schöling vor mehr als 15 Jahren hinzugefügt

  • ID ec63079e098bf55fa05c1593468c6795b747082d
  • Vorgänger a35a796b
  • Nachfolger 3da055b7

Update Programmierrichtlinien

Unterschiede anzeigen:

doc/programmierstilrichtlinien.txt
Diese Regeln sind keine Schikane, sondern erleichtern allen das Leben!
Jeder, der einen Patch schickt, sollte sein Script vorher durch perltidy
laufen lassen. Damit werden einige der nachfolgenden Regeln automatisch
befolgt, andere hingegen nicht. Dort, wo keine perltidy-Optionen angegeben
sind, muss der Programmierer selbst f?r die Einhaltung sorgen.
Jeder, der einen Patch schickt, sollte seinen Code vorher ?berpr?fen.
Einige der Regeln lassen sich automatisch ?berpr?fen, andere nicht.
--------------------------------------------------------------------------
......
$form->{"row_$i"} = $form->{"row_$i"} - 5;
$some_hash{42} = 54;
11. Die Maximale Zeilenl?nge ist nicht bescr?nkt. Zeilenl?ngen <= 79
11. Die maximale Zeilenl?nge ist nicht bescr?nkt. Zeilenl?ngen <= 79
helfen unter bestimmten Bedingungen, aber wenn die Lesbarkeit unter
kurzen Zeilen leidet (wie zum Biespiel in grossen Tabellen), dann
ist Lesbarkeit vorzuziehen.
......
12. Trailing Whitespace, d.h. Leerzeichen am Ende von Zeilen sind unerw?nscht.
Sie f?hren zu unn?tigen Whitespace?nderungen die diffs verf?lschen.
Emacs und vim haben beide recht einfach Methoden daf?r:
Emacs und vim haben beide recht einfache Methoden daf?r:
emacs kennt das Kommande nuke-trailing-whitespace,
vim macht das gleiche manuell ?ber :%s/\s\+$//e
vim macht das gleiche manuell ?ber :%s/\s\+$//e, mit
:au BufWritePre * :%s/\s\+$//e
wird das an speichern gebunden.
12. Es wird kein perltidy verwendet.
In der Vergangenheit wurde versucht perltidy zu verwenden um einen
einheitlichen Stil zu erlangen, es hat sich aber gezeigt, dass Perltidys
sehr eigenwilliges Verhaltes was Zeilenumbr?che angeht oftmals gut
formatierten Code zerst?rt. F?r den Interessierten, hier sind die perltidy
Optionen die grob den beschriebenen Richtlinien entsprechen.
-syn
-i=2
-nt
-pt=2
-sbt=2
-ci=2
-ibc
-hsc
-noll
-nsts
-nsfs
-asc
-dsm
-aws
-bbc
-bbs
-bbb
-mbl=1
-nsob
-ce
-nbl
-nsbl
-cti=0
-bbt=0
-bar
-l=79
-lp
-vt=1
-vtc=1
formatierten Code zerst?rt. F?r den Interessierten sind hier die perltidy
Optionen, die grob den beschriebenen Richtlinien entsprechen.
-syn -i=2 -nt -pt=2 -sbt=2 -ci=2 -ibc -hsc -noll -nsts -nsfs -asc -dsm
-aws -bbc -bbs -bbb -mbl=1 -nsob -ce -nbl -nsbl -cti=0 -bbt=0 -bar -l=79
-lp -vt=1 -vtc=1
13. STDERR ist tabu. Unkonditionale Debugmeldungen auch.
Lx-Office bietet mit dem LXDebug Modul einen brauchbaren Trace/Debug
Mechanismus, es gibt also keinen Grund nach STDERR zu schreiben.
Die LXDebug Methode "message" nimmt als ersten Paramter au?erdem eine
Flagmaske, f?r die die Meldung angezeigt wird, wobei "0" immer angezeigt
wird. Sollte Meldungen sollten nicht eingecheckt werden, und werden in den
meisten F?llen auch vom Repository zur?ckgewiesen.

Auch abrufbar als: Unified diff